Forum: Compiler & IDEs Programm Version anzeigen


von Christian O. (reflexx)


Lesenswert?

Schönen guten morgen,

gibt es eine Möglichkeit das Built oder das Datum mit zu compilieren,
um es dann später im Programm anzuzeigen?


Um es verständlicher auszudrücken, bei jedem compilieren soll z.b ein 
Zeitstempel oder eine fortlaufende Nummer gesetzt werden.
Die möchte ich dann auf dem Display des Microcontrollers zur Laufzeit 
anzeigen.

Es soll automatisch vom Präprozessor oder Compiler gemacht werden.

Wäre schön wenn mir jemand dazu sagen kann ob das möglich ist.


Gruß

Ch.

Achso.. Atmelstudio 6

von Andree S. (amshh)


Lesenswert?


von Uwe (de0508)


Lesenswert?

Hallo,

man findet fiese Info über _DATE__ und __TIME_ über ein Suchsystem.

Dieser Link gibt dir schon einen Eindruck:

http://stackoverflow.com/questions/11697820/how-to-use-date-and-time-predefined-macros-in-as-two-integers-then-stri

von Christian O. (reflexx)


Lesenswert?

Hallo,

vielen Danke euch Beiden, genau das habe ich gesucht, funktioniert 
einwandfrei.

Gruß Ch.

von Heiner (Gast)


Lesenswert?

Wie kann man das Format der Daten ändern? Habe im Handbuch nichts 
gefunden.

von Uwe (de0508)


Lesenswert?

Heiner, siehe die beiden Macros bitte als Konstanten an.

von Heiner (Gast)


Lesenswert?

Hallo,

mir würden auch die Einzelstring/-numerale genügen, also Tag, Monat, 
Jahr. Da dies die generische und universelle Variante ist, gehe ich 
davon aus, dass es diese Konstanten gibt. Leider habe ich dazu aber auch 
nichts gefunden!?

von Andree S. (amshh)


Lesenswert?

Du wirst DATE und TIME selber zerlegen müssen, wenn du es anders 
brauchst als angeliefert.
A.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Du kannst dir Datum und Zeit auch selber erzeugen mit "date", zumindest 
unter Linux.

Beispiel für einen entsprechende Makefile-Schnippel:
1
.PHONY: force
2
3
date.o: date.c force
4
  gcc -DDATE=\"$(shell date +'%d.%m.%Y\ %T')\" $< -c

für ein C-Modul date.c
1
const char date[] = DATE;

date hat viele %-Terme um Teile des Datums / der Zeit einzufügen; 
einfach die Doku dazu lesen.  Im Biespiel expandiert DATE zu
1
const char date[] = "02.06.2014 13:27:43";

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.