@michaelb

in c gibst du normalerweise nur die headerfiles von benötigten 'modulen' an, die implementationsfiles werden im makefile aufgeführt.

=> im makefile hast du dann mehrere c-files angegeben, die jeweils in ein object-file kompiliert und am schluss vom linker zusammengesetzt werden.

der grund ist unter anderem folgender: ein #include kopiert den inhalt des angegebenen files in das file, in dem das include steht. wenn jetzt ein c-file mehrfach eingebunden wird, schmeisst dir der compiler warnungen/errors, weil funktionen und so mehrfach definiert sind. (das ist auch der grund, wieso im einem headerfile immer zuerst ein #ifndef lalala #define lalala ... steht)

cu

chris