Arduino: #define in mehreren Dateien verwenden

OP #7695949
Lesenswert?
• ▲
▼

Ich habe ein anscheinend simples Problem, aber komme nicht auf eine einfache Lösung: ich brauche einen Versionsstring

1
#define FW_VERSION "3.1.0"

mehrfach im Projekt in unterschiedlichen Dateien. Wie mache ich das, ohne eine extra .h in jede einzubinden oder geht das nicht anders?

#7697329
Lesenswert?
• ▲
▼

Luky S. schrieb:

Ich habs jetzt mit der extra .h gemacht, danke, funktioniert!

Du wirst recht schnell feststellen, dass noch weiter Sachen zentral gebraucht werden. Schalter für Module, Debuginfos, Konfiguration.

Nenne die Datei, die Du überall einbindest, ruhig config.h oder appl.h oder project.h oder so.

Und dann wirst Du feststellen, dass Du eine Version in dem Format vermutlich doch nicht mehrfach brauchst

#7768500
Lesenswert?
• ▲
▼

Veit D. schrieb:

man könnte das #define vor allen #includes<> platzieren.

Oh Mann ! Meist wird ja schon vergessen, die eine Versionsnummer bei Änderungen hochzuzählen. Da nimmt man also 12 verschiedene und lässt sich überraschen, wann welche gezählt wurde.

Natürlich gehört das in eine .h - Datei. Genau dafür sind die da !

Und wenn es dann immer noch nicht funktioniert (mit dem Zählen bei den Programmierern), wird die Datei im Build-Prozess von Subversions subwcref.exe generiert.

Persönliche Seite #7771646
Lesenswert?
• ▲
▼

Flunder schrieb:

Veit D. schrieb:

man könnte das #define vor allen #includes<> platzieren.

Oh Mann ! Meist wird ja schon vergessen, die eine Versionsnummer bei Änderungen hochzuzählen. Da nimmt man also 12 verschiedene und lässt sich überraschen, wann welche gezählt wurde.

Natürlich gehört das in eine .h - Datei. Genau dafür sind die da !

Wenn man eine .h die z.B. Versionskennungen enthält in allen Modules includieren will und sicher gehen will, dass man sie in keinem (neuen) Modul vergisst, kann man auch im Makefile:

1
gcc ... -include version.h ...

und der Header wird automatisch includiert.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.