PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C]Header dateien ??



pulp
18-05-2003, 05:47
hi,

ich hab ihr nen kleines verständis problem:

wenn ich mit mehreren .c dateien und .h dateien arbeite und das dann (nach autoheader, automake, autoconf) kompiliere, ist das dann fuer den compiler (eigentlich) wie eine grosse .c datei wo dann halt alle .h datein eingefügt sind ?

und wenn ich eine variable in einer header datei definiere ist die dann global definiert ? da sie ja wenn obiges stimmt vor der main funktion definiert ist.

vielleicht blick ja da jemand durch ;)

danke pulp

tuxipuxi
18-05-2003, 09:05
hi,


soweit ich weiss nimmt sich der compiler jede zu compilende .c datei vor und includet da erstmal den inhalt der headerdateien.

wenn er das erledigt hat, gibt es eine .o datei mit der nur der compiler was anfangen kann.

also z.b.:

main.c includet stdio.h , dann inkludiert er stdio.h in main.c und bildet sich daraus seine .o datei, die er spaeter noch braucht. das macht er fuer jede .c datei die kompiliert werden soll.

dann "baut" er sich daraus die executable.

gruss,

tuxipuxi.

p.s: ich bin mir wirklich nicht sicher ob das genauso laeuft wie oben beschrieben, glaube aber das es stimmt.

anda_skoa
18-05-2003, 11:52
Ja, stimmt.

Nur bei --enable-final werden alle c.c Dateien aneinandergehängt und das dann kompiliert.

Ciao,
_