Forum: PC-Programmierung Header-Datei mehrfach einbinden


von Stefan (Gast)


Lesenswert?

Hallo,

ich habe mir mitlerweile ein paar Funktionen für einen Atmega 
zusammengeschrieben.
Die habe ich auch immer schön in .h und .c Files aufgeteilt und binde 
immer die Headerfile ein.

Ein Beispiel wäre SPI, also spi.h und spi.c.

Jetzt bin ich gerade dran, weitere Funktionen zu schreiben, die spi 
benötigen. Jetzt weiß ich allerdings nicht wirklich, ob das korrekt ist, 
wenn ich spi.h jetzt einfach in beiden einbinde.

Zum verdeutlichen:
main.c -> bindet spi.h und neu.h ein
neu.c -> bindet ebenfalls spi.h ein

Ist das so korrekt oder gibt es hier eine elegante Lösung, dass nur 
einmal eingebunden wird und die Funktionen auch in der neu.c verfügbar 
sind? (vl #ifdef?)

Ich hoffe ich versteht was ich meine und könnt mir weiterhelfen.
Danke

von ozo (Gast)


Lesenswert?

Hallo,

sehr wahrscheinlich suchst du dieses hier:
https://de.wikipedia.org/wiki/Include-Guard

Grüße

von A. S. (Gast)


Lesenswert?

Jede c-datei wird für sich allein kompiliert.

Und es zählt nur das, was darin steht. Der präprozessor ersetzt 
#includes jeweils durch die originale Datei, kein vodoo, keine 
Absprachen sonstwo.

Schaue auch Mal nach include-guard Guarda. Für später.

von Stefan (Gast)


Lesenswert?

Vielen Dank euch beiden.

Das habe ich sogar in allen Headerfiles drin.
Dann habe ich ja alles richtig gemacht, danke.

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.