amiga-news 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: 7716
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:
Original von Reth:
@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!

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: 332
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:
Original von Yvan:
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

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.
.