WikiDer > Links

Linken

Verknüpfung (Englisch: verlinken) ist ein Fachbegriff für eine Operation, die an . durchgeführt werden kann zusammengestellt Code, um es ausführbar zu machen. EIN links oder Link-Editor ist a Programm dass mehrere Ausgangsmodule von a Monteur in ein einziges ausführbares Programm.

Das Compiler hat die anweisungen der Programmierer von der . in eine umgewandelt Computer ausführbare Form, aber der Programmierer wird fast immer auch bereits auf der Maschine vorhandene Programmkomponenten wie Ein- und Ausgaberoutinen verwendet haben. Diese befinden sich in sogenannten Programmbibliotheken oder Bibliotheken und die Aufgabe des Linkers besteht darin, einen Verweis auf a . zu erstellen Subroutine die im Code selbst nicht vorhanden ist, indem Sie die entsprechende Bibliothek durchsuchen und dem Programm den gewünschten Code hinzufügen.

Das Ergebnis eines Link-Befehls (wenn alle fehlenden Routinen gefunden wurden) ist eine Datei, die normalerweise fast laufbereit ist: Manchmal muss nur die Startadresse des Codes angegeben werden, der beim Laden im Speicher abgelegt wird auf alle im Programm vorkommenden Sprünge auf absolute Adressen. Viele ausführbare Programme enthalten hierfür u.a Umzugstisch diese Adressen enthalten. Compiler liefern manchmal (zB durch Setzen einer Option) bereits Code mit exklusiven relativen Sprüngen (also zB '100 Stellen weiter springen' und nicht 'zu Adresse 100256 springen'), so dass dieser Umlagerungsprozess nicht notwendig ist.

Andere Programme müssen notwendigerweise von einer bestimmten Stelle in den Speicher geladen werden. All dies sind Dinge, mit denen sich Programmierer heutzutage nur noch in Ausnahmefällen (zB mit Programmen, die ein Gerät ansteuern, Treibern) auseinandersetzen müssen.

Ein Programm, das sowohl verknüpft (zusammengeführt) als auch geladen (in den Speicher geladen) wird, wird als Linker/Lader bezeichnet. Lader, die speziell die Adressen in Programmen ändern können, je nachdem, wo das Programm im Speicher geladen ist, werden verschiebbare Lader genannt.