Was ist der Unterschied zwischen einer Header-File und einer Bibliothek zb in C?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Header Files werden zur Definition von Konstanten und zur Deklaration von Funktionen vom Compiler genutzt.

Die Bibliotheken implementieren dann die Funktionen, die Du nicht selber geschrieben hast und die in den Header-Files deklariert wurden. Die werden durch den Linkage-Editor in das ausführbare Programm mit eingebunden oder dynamisch dazugeladen.

Edit:

Beispiel #include <stdio.h> bindet die Headerdatei stdio.h ein. Darin ist u.a. die Funktion printf() deklariert. Wenn Du dann printf() nutzt, weiss der Compiler, welche Parameter da zu erwarten sind und prüft, ob die mitgegebenen Parameter korrekt sind. Anschließend wird die kompilierte Datei durch den Linkage-Editor mit der Bibliotheksfunktion printf() erzeugt, die der Linker aus der Liste der einzubindenen Bibliotheken erhält.