Der Linker

Der letzte Schritt in der Generierung eines Programms ist das Linken. Dies ist die Aufgabe des Linkers: er setzt den vom Compiler generierten Objektcode zu einem vollständigen Programm zusammen. Dabei sucht er nach Funktionsaufrufen und den dazugehörigen Funktionen und überprüft, ob alle Variablen, die deklariert wurden, auch irgendwo definiert sind.

Dabei unterscheidet er die Funktionen wie in C++ üblich auch danach, welche Parameter sie nutzen. Falls eine Funktion mit falschen Parametern aufgerufen wird, wird er diese nicht finden. Am Ende seiner Arbeit kontrolliert er, ob alle Funktionsaufrufe aufgelöst wurden, falls das nicht der Fall sein sollte, wird er dies mit einer Fehlermeldung quittieren. Solche Fehler sind in der Regel auf falsche Parameter zurückzuführen (eine Funktion dieses Namens existiert zwar, aber sie braucht andere Parameter, z.B. mehr oder in anderer Reihenfolge) oder auf fehlende Bibliotheken, aber dazu später mehr.

Nach dem Linken liegt ein fertiges Programm vor, das von einem Computer ausgeführt werden kann.