[c] Borland __DATE__ ersatz

Cusco

Erfahrenes Mitglied
Hi, gibt es ein Ersatz für das Schreckliche __DATE__ vom Borland? das Format Jan 24 2006 ist einfach schlecklich. Gibt es andere Formate? Vielleicht sogar in Deutsch? Ich will das für die Automatische Versions-Datum anzeige permament im Programm haben. Beim Amiga mit StormC (gcc) gab es z.B. __GER_DATE__ und __DATE2__
 
Hi.

Der C Standard definiert folgende vordefinierte Makros:

__FILE__

__LINE__

__func__ (in C99)

__DATE__

__TIME__

__STDC__

__STDC_VERSION__

(und ein paar andere)

D.h. __DATE__ ist keinesfalls Borland spezifisch, sondern ist vom C Standard vorgegeben. Was für compilerspezifische Macros definiert sind weiß ich nicht und ich würde davon abraten sie zu benutzen.

Um ein eigenes Datumsformat zu benutzen mußt du vermutlich selbst ein Programm oder Skript schreiben welches zur Compilezeit vom Buildsystem aufgerufen wird und dann ein eigenes Makro definieren.

Gruß
 
deepthroat hat gesagt.:
Hi.
[...]
(und ein paar andere)

D.h. __DATE__ ist keinesfalls Borland spezifisch, sondern ist vom C Standard vorgegeben. Was für compilerspezifische Macros definiert sind weiß ich nicht und ich würde davon abraten sie zu benutzen.

Warum ratest du davon ab? Das Macros kann doch per #define definiert werden und ist dann Problemlos überall im Source nutzbar, schwingt man auf einen anderen Compiler um dann Ändert man einfach das Define und Fertig. #define ist ne Feine sache das erleichtert vieles ich setze immer mehr davon ein. z.B. um Variablenpfade abzukürzen. Aus Dáten.Eintrag->Titel wird einfach DETitel und fertig :) Die langen Varablennamen habe mich schon in AmiBlitz2 genervt. Da gab es dann Sachen wie Spieler(sp)\Ehepartner[eh]\Kind[le]\Name und noch länger, ich war es leit das immer vollständig tippen zu müssen.
 
Cusco hat gesagt.:
Warum ratest du davon ab?
Ich rate davon ab compilerspezifische Makros zu benutzen die nur ein einziger Compiler unterstützt. Man kann zwar testen ob ein Makro definiert ist (was man auch immer tun sollte bevor man eins definiert um es dann erst zu #undef'fen falls man es überschreiben will) aber das ist die ganze Sache nicht wert.
Cusco hat gesagt.:
Das Macros kann doch per #define definiert werden und ist dann Problemlos überall im Source nutzbar
Makros, "überall" und "problemlos" - das klingt wie Frauen, Schuhe und kurz: nämlich paradox
Cusco hat gesagt.:
schwingt man auf einen anderen Compiler um dann Ändert man einfach das Define und Fertig.
:confused: das will man ja grad nicht. Irgendwie hunderte defines ändern wenn man den Compiler wechselt.
Cusco hat gesagt.:
#define ist ne Feine sache das erleichtert vieles ich setze immer mehr davon ein. z.B. um Variablenpfade abzukürzen. Aus Dáten.Eintrag->Titel wird einfach DETitel und fertig :)
um Gottes Willen... das ist wirklich furchtbar, aber solange nur du den Code lesen mußt geht's vermutlich noch.

Gruß
 
Zurück