ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Ersatz für TEXT()-Makro und weitere? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
07.12.2010, 16:14 Uhr Reth Posts: 1858 Nutzer |
Hi nochmal, portiere immer noch an dem SDL-Source von GigaLoMania herum und versuche das Ganze so codeerhaltend wie möglich zu machen. Allerdings gibt es unter Windows (und wohl auch unter Linux, wenn der Autor den Code damit compilieren konnte) Makros, die u.a. die Behandlung von Unicode in Strings vornehmen. Ein Beispiel ist hier beschrieben : C code:#ifdef UNICODE #define TEXT(t) L##t #define _T(t) L##t #define T(t) L##t #else #define TEXT(t) t #define _T(t) t #define T(t) t #endif Habe mal alles im AOS4-Verzeichnis durchsucht, bin aber noch nicht über etwas vergleichbares gestolpert. Gibt es für AmigaOS bereits ähnliche Makros? (Habe mir mit defines von String-Symbolen abgeholfen, ohne umschließendes TEXT()-Makro.) Ciao [ - Antworten - Zitieren - Direktlink - ] |
07.12.2010, 16:32 Uhr thomas Posts: 7718 Nutzer |
Warum nimmst du die Definition nicht einfach so wie sie da steht. Das Makro macht ja nichts anderes als im Falle von Unicode ein L vor den String zu setzen und ohne Unicode eben nicht. Das "behandelt" nichts, es sagt dem Compiler nur, daß der String ein Unicode-String ist, wenn das Programm im Unicode-Modus umgewandelt wird. Soweit ich weiß, gibt es bei AmigaOS (noch) keinen Unicode-Modus, dementsprechend kommt die Variante des Makros im #else-Fall zum Zuge, das die Textkonstante einfach unverändert übernimmt. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
07.12.2010, 17:03 Uhr Reth Posts: 1858 Nutzer |
@thomas: Wäre auch meine Lösung gewesen. Allerdings bin ich gestern über ne Website gestolpert, auf der von der Nutzung dieses Makros abgeraten wurde! Für die Kompatibilität werd ich es dann in den Source einbauen! Ciao [ - Antworten - Zitieren - Direktlink - ] |
07.12.2010, 17:20 Uhr Thore Posts: 2266 Nutzer |
Brauchst du da unbedingt Unicode? Wenn nein, lass es weg und mach alles auf ANSI [ - Antworten - Zitieren - Direktlink - ] |
08.12.2010, 12:00 Uhr Holger Posts: 8116 Nutzer |
Zitat:Gab es auch eine Begründung? Ansonsten kannst Du zu jedem Thema mindestens je eine Website finden, die behauptet, dass das ganz schlecht, bzw. ganz toll ist. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
08.12.2010, 12:42 Uhr Yvan Posts: 334 Nutzer |
Im Gegensatz zu C sind Makros nicht standardisiert. Das kann zu Portabilitätsproblemen führen. Nachzulesen im C Book Kap 7.1 http://publications.gbdirect.co.uk/c_book/chapter7/effect_of_the_standard.html [ - Antworten - Zitieren - Direktlink - ] |
08.12.2010, 16:31 Uhr Holger Posts: 8116 Nutzer |
Zitat:Nun ja, vielleicht hätten die Autoren, als sie 1991 die 2nd Edition produziert haben, auch dieses Kapitel etwas aktualisieren sollen. Makros sind sehr wohl standardisiert, das konnte man vor 1989/1990 vielleicht noch nicht wissen, aber 1991 war der Standard fix und anno 2010 dürfte es wohl keinen C-Compiler mehr geben, der mit diesem zwanzig Jahre alten Standard Probleme hat. -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Ersatz für TEXT()-Makro und weitere? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |