Kompilierdatum einfügen

Gast #264451
Lesenswert?
• ▲
▼
Hallo,

habe ich in WinAVR die Möglichkeit, per Präprozessor-Anweisung das
Kompilierdatum in den generierten Code einzufügen?
Grund: Die Geräte sollen per Info-Befehl die Software-Version und das
Kompilierdatum ausgeben, und ich möchte nicht bei jedem Gerät immer
diese Daten per Hand in einen Flash-String eingeben, sondern sie sollen
dort automatisch landen. Ich stelle mir eine Präprozessor-Variable vor
wie #date und #time, evtl. sogar #file oder #projectname.

Geht das?
Gast #264453
Lesenswert?
• ▲
▼
Hallo Benny,

ich weiß vom MS Visual Studio das es eine direktive namens _LINE_
oder _FILE_ gibt mit der man die aktuelle zeilennummer bzw. den
aktuellen dateinamen als string geliefert bekommt.
Ist aber unter MS keine präprozessor-direktive sondern ein Makro
(glaube ich jedenfalls)
Versuchs doch mal mit _DATE__ und __TIME_

Gruß
Rene
Gast #264454
Lesenswert?
• ▲
▼
Unter Linux kannst du's mit diesem Maketarget machen:

.PHONY : date
date:
  @echo "const char build[]=\"Compiled: `date +%d.%m.%Y`\";" >
date.c
  @touch -t `date +%Y%m%d`0000.00 date.c

der erste Befehl schreibt einen String mit dem Datum in date.c. Der 2
stellt das Änderungsdatum auf 0Uhr, so das die Datei nur 1x am Tag
compiliert wird.

Unter Windows dürfte das in etwas so aussehen:
.PHONY : date
date:
  @echo "const char build[]=\"Compiled: " > date.c
      @date >> date.c
      @echo "\";"

Ich weiß nicht ob die Anführungszeichen für Windows richtig escaped
sind und ob date weitere Parameter erwartet. Ein Tool wie touch ist mir
bei Windows nicht bekannt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.