Variable Header Datei

#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.
#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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren