Headerdateien und Bibliotheken?
-
Hallo Forum!
Ich habe mal eine winzige Frage.
Beim Compilieren eines Programms hat der Linker bemängelt eine bestimmte Funktion R_alloc nicht zu finden. Ich habe extra in das Programm das Headerfile Memory.h eingebunden. Dort wird die Funktion aber irgendwie nur aufgelistet:
char* R_alloc(long, int);
Jedoch muss ja die Funktion irgendwo programmiert sein. Kann das sein, das sich diese Header-Datei auf eine Bibliothek bezieht die ich gar nicht im lib-Verzeichnis des Compilers habe? Mir ist der Zusammenhang von Header- und Bibliothekdateien noch nicht ganz klar.
-
Mir ist der Zusammenhang von Header- und Bibliothekdateien noch nicht ganz klar.
Normalerweise ist der Zusammenhang so dass alle in einem Heade-File deklarierten Funktionen in genau einer Library implementiert sind. Also ein Heade-File "gehört zu" genau einer Library. Eine Library "hat" aber meist mehrere Header-Files.
Um die Funktion nutzen zu können musst du nun a) das passende Header-File mit #include einbinden und b) mit der Library linken wo die Funktion definiert ist.
Zu welcher Library R_alloc gehört weiss ich nicht. r_alloc (kleines r!) findet man in *NIX Source Codes öfter, vielleicht glibc oder sowas?
Aber guck doch einfach mal in das Header-File "Memory.h" rein, oft steht da drinnen zu welcher Library es gehört.