DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Ersatz für TEXT()-Makro und weitere? | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2010-12-07, 16:14 h Reth Posts: 1858 User |
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 [ - Answer - Quote - Direct link - ] |
2010-12-07, 16:32 h thomas Posts: 7717 User |
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/ [ - Answer - Quote - Direct link - ] |
2010-12-07, 17:03 h Reth Posts: 1858 User |
@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 [ - Answer - Quote - Direct link - ] |
2010-12-07, 17:20 h Thore Posts: 2266 User |
Brauchst du da unbedingt Unicode? Wenn nein, lass es weg und mach alles auf ANSI [ - Answer - Quote - Direct link - ] |
2010-12-08, 12:00 h Holger Posts: 8116 User |
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. [ - Answer - Quote - Direct link - ] |
2010-12-08, 12:42 h Yvan Posts: 332 User |
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 [ - Answer - Quote - Direct link - ] |
2010-12-08, 16:31 h Holger Posts: 8116 User |
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. [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Ersatz für TEXT()-Makro und weitere? | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |