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
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
Ja ganze einfach: #include "1.h" #include "2.h" #include "3.h" ... Reihenfolge: 1 2 3 ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.