Forum: Compiler & IDEs #define Reihenfolge


von Manuel (Gast)


Lesenswert?

Hallo,

ich habe in meinem Projekt mehrere .h Dateien, in denen hin und wieder 
per #define was definiert wird, was auch für andere .h Dateien wichtig 
ist. Nun hab ich das Problem, dass wohl das #define in einer Datei zu 
spät vom Compiler ausgewertet wird, sodass es nicht mehr für die andere 
.h. Datei verwendet wird. Kann ich die Reihenfolgt, in dem die .h 
Dateien ausgewertet werden irgendwie beeinflussen?

Gruß

Manuel

von sch_michael (Gast)


Lesenswert?

Hallo,

zuerst einmal muss man verstanden haben, was mit den #include eigentlich 
passiert. Beim #include wird der Inhalt der h-Datei in der c-Datei an 
die Stelle des #includes gesetzt. Somit ist die Reihenfolge der 
h-Dateien dafür verantwortlich, wie die #defines sich in der c-Datei 
befinden.

Gruß sch_michael

von 123 (Gast)


Lesenswert?

Ja ganze einfach:

#include "1.h"
#include "2.h"
#include "3.h"
...

Reihenfolge:
1
2
3
...

von Oliver (Gast)


Lesenswert?

Wenn du in einem header-file #defines verwendest, die in einem anderen 
header-file definiert sind, kannst du auch das zweite header-file am 
Anfang des ersten includieren. Dann ist die Reihenfolge im .c-File 
wieder egal.

Oliver

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.