Frage zu includes (die 1000.)

Gast #2083641
Lesenswert?

Ich hab grade den Artikel 
http://www.mikrocontroller.net/articles/Include-Files_(C) hier 
durchgelesen und irgendwie ist da noch eine sache fraglich nämlich:

a.c inkludiert datetime.h
b.c inkludiert datetime.h
a.c inkludiert nicht b.c
b.c inkludiert nicht a.c

Also: Frage ist das ein Fehler/Unvollständigkeit oder hab ich was falsch 
vertanden (der compiler liest ja nur einmal drüber). Ich würd jetz einen 
Fehler wie "a.c: the function 'initdate...' does not contain any code" 
erwartet (K.A. ob der compiler motz, oder ob man das beim Ausführen erst 
merkt)... oder schleisst der compiler iwie rückwärst durch das include 
in b.c auf die Verwendung (auf welches file muss ich dann den compiler 
loslassen?)
#2083705
Lesenswert?

In datetime.h ist nicht die komplette Funktion enthalten, sondern nur 
der Hinweis, wie sie zu verwenden ist. Quasi nur die Spezifiaktion der 
Funktion. Sowas nennt man Prototyp einer Funktion und erkennt es am 
Strichpunkt nach dem Funktionskopf. Es wird nur Code erzeugt, der die 
Funktion, die im anderen Modul enthalten ist, anspringt.

>oder schleisst der compiler iwie rückwärst durch das include in b.c auf die 
Verwendung

Genau!

>(auf welches file muss ich dann den compiler loslassen?)

Auf beide. Der Linker fügt dann die beiden Module zu einem vollständigen 
Programm zusammmen.

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