Compiler

Ein Compiler ist ein Programm, das ein anderes Programm aus einem Quelltext erstellt. Er analysiert den Quelltext auf syntaktische Korrektheit, sorgt für die Speicherverwaltung des späteren Programms indem er z.B. die Größen von Variablen verwaltet und erzeugt daraus sogenannten Objektcode, der dann vom Linker zu einem fertigen Programm zusammengefügt wird.

Häufig wird der Linker mit zum Compiler gezählt, teilweise zählt man auch die Entwicklungsumgebung (IDE) mit dazu. In C ist es relativ wichtig, die Unterscheidung Compiler / Linker zu kennen, da zum einen häufig der Compilerlauf bei vorcompilerten Objektdateien entfallen kann und zum anderen der Linker seine eigenen, meist auf Inkonsistenzen eines Projektes bezogenen Fehlermeldungen kennt. Fehlende oder auch nur falsch benannte Funktionen kann der Compiler z.B. noch nicht bemängeln, da er immer nur eine Quelldatei bearbeitet - die Funktion könnte aber in einer anderen Datei definiert sein. Erst der Linker hat den Überblick über das ganze Programm.