Variable Header Datei

OP #3306696
Lesenswert?
• ▲
▼
Hallo C -Profis,

Es würde mir meine Situation in einem Projekt erleichtern, wenn folgende 
oder sinngemäß ähnliche Möglichkeit existieren würde:
1
#ifdef CONFIGFILE
2
  #include CONFIGFILE
3
#else
4
  // Define standard config
5
#endif

Das Ziel soll sein, einen Quelltext mit unterschiedlichen 
Konfigurationen zu übersetzen, welche heute noch nicht bekannt sind. 
Zukünftig sollen neue projektbezogene Konfigurationen entstehen, welche 
aber keine Modifikation der C-Datei erfordern.

Ist so etwas möglich?

Danke für die Rechenzeit :-)
Gast #3306728
Lesenswert?
• ▲
▼
Nein, so ist das nicht möglich. Was aber einen vergleichbaren Effekt 
hätte:

#include "config.h"

Verschiedene Varianten von config.h liegen in verschiedenen 
Unterverzeichnissen, und man wählt die gewünschte Datei per 
compiler-option "-I" (großes ieh, Beispiel gcc) aus.
#3306975
Lesenswert?
• ▲
▼
Ich hatte mal einen Fall, wo die Headerdateien an Kunden gingen, und ich 
nicht wollte, daß jeder etwas von den anderen zu sehen bekommt.
Dafür hatte ich mir eine Quelldatei gebaut mit m4-Makros, aus denen der 
Präprozessor m4 die eigentlichen Headerdateien generiert hat.
OP #3307176
Lesenswert?
• ▲
▼
Malte S. schrieb:
> Sieht so aus, dass das Einbinden eines spezifischen Headers optional
> sein soll.

Genau!

Ich habe jetzt folgendes ausprobiert:
1
#define CONFIGFILE "config.h"
2
#include CONFIGFILE

Der Fehler lautet:
test.c:5:20: fatal error: config.h: No such file or Directory

Also geht's genau so, wie es gewünscht ist. Der erste Post hat's bereits 
"angedeutet"...

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.