Linker (Computerprogramm)
Unter einem Linker versteht man ein Programm, welches einzelne Programm-Module zu einem ausführbaren Programm zusammenstellt (verbindet).
Die meisten Programme enthalten Komponenten, die auch in anderen Programmen Verwendung finden können. Es ist also grundsätzlich ratsam Programme in abgeschlossene Module zu zerteilen, die eine jeweils abgeschlossene Aufgabe übernehmen. Um nun ein solches Modul in einem anderen Programm zu verwenden, ist es notwendig es an das Programm zu binden. Genau diese Aufgabe übernimmt ein Linker. Praktisch gesehen wird mit dem Linker eine Endmontage eines Programms durchgeführt.
Um die Programm-Module ordnen zu können, werden diese oft in Libraries (Bibliotheken) zusammengefasst, aus denen dann der Linker dann die notwendigen Module heraussuchen kann.
Man unterscheidet zwischen dynamischen und statischen Linkern. Bei statischen Linkern erfolgt das linken vor dem Starten des Programms, während beim dynamischen Linken der Link-Vorgang erst nach dem Starten erfolgt. Mischformen dieser Link-Arten sind üblich.
Das statische Linken ist ein Vorgang, der typischerweise während der Entwicklung des Programms erfolgt, so dass er Benutzer ein fertig zusammengesetztes Programm erhält. Dies besteht dann bei vollständig statisch gelinkten Programmen aus einer einzelnen Datei.
Beim dynamischen Linken wird der Linker entweder als Programm-Modul statisch selber in das Programm gelinkt oder durch ein Systemprogramm des Betriebssystems übernimmt diese Aufgabe automatisch. Bei dynamisch linkenden Programmen werden neben der Datei des eigentlichen Programms auch die eingebundenen Module benötigt, damit das Programm voll funktionsfähig ist. Typischerweise werden die Module als Library mitgeliefert oder vom Betriebsystem zur Verfügung gestellt.