Contents
Ein Linker ist ein Computerprogramm, das ein oder mehrere von einem Compiler oder Assembler erzeugte Objekte nimmt und sie zu einem einzigen ausführbaren Programm kombiniert. Computerprogramme bestehen normalerweise aus mehreren Modulen, die Objektdateien trennen können, wobei jedes ein kompiliertes Computerprogramm ist. Das Programm als Ganzes verweist auf diese separat kompilierten Dateien mit Symbolen. Der Linker kombiniert diese separaten Dateien zu einem einzigen, vereinheitlichten Programm und löst dabei die symbolischen Referenzen auf.
Das Verknüpfen erfolgt sowohl zur Kompilierzeit, wenn der Quellcode in Maschinencode übersetzt wird, als auch zur Ladezeit, wenn das Programm vom Lader in den Speicher geladen wird. Die Verknüpfung wird im letzten Schritt beim Kompilieren eines Programms durchgeführt.
Es gibt zwei Arten von Verknüpfungen:
Die dynamische Verknüpfung wird während der Laufzeit durchgeführt. Diese Verknüpfung wird erreicht, indem der Name einer gemeinsam nutzbaren Bibliothek in das ausführbare Image eingefügt wird. Es besteht eine höhere Wahrscheinlichkeit von Fehlern und Ausfällen. Es erfordert weniger Speicherplatz, da mehrere Programme eine einzige Kopie der Bibliothek gemeinsam nutzen können.
Die statische Verknüpfung erfolgt während der Kompilierung des Quellprogramms. Es nimmt eine Sammlung von verschiebbaren Objektdateien und Befehlszeilenargumenten und generiert eine vollständig verknüpfte Objektdatei, die geladen und ausgeführt werden kann. Die beiden Hauptfunktionen der statischen Verknüpfung umfassen:
Ein Loader ist der Teil eines Betriebssystems, der für das Laden von Programmen und Bibliotheken verantwortlich ist. Es ist einer der wesentlichen Schritte beim Starten eines Programms, da es Programme in den Speicher legt und sie für die Ausführung durch das Betriebssystem vorbereitet.
Loader liest den Inhalt der ausführbaren Datei und speichert dann diese Anweisungen im RAM sowie alle Bibliothekselemente, die für die Ausführung des Programms im Speicher sein müssen. Aus diesem Grund erscheint kurz vor dem Start der meisten Programme ein Begrüßungsbildschirm, der oft anzeigt, was im Hintergrund passiert, was der Loader gerade in den Speicher lädt.
Das Laden beinhaltet das Lesen des Inhalts der ausführbaren Datei, die die Anweisungen des Programms enthält, und dann das Ausführen anderer vorbereitender Aufgaben, die erforderlich sind, um die ausführbare Datei für die Ausführung vorzubereiten das Programm, das ausgeführt werden muss.
Zu den Aufgaben eines Laders gehören:
Es gibt drei Arten von Ladern
VERGLEICHSGRUNDLAGE | LINKS | LADEGERÄT |
Beschreibung | Ein Linker ist ein Computerprogramm, das ein oder mehrere von einem Compiler erzeugte Objekte nimmt und sie zu einem einzigen ausführbaren Programm kombiniert. | Der Loader ist der Teil eines Betriebssystems, der dafür verantwortlich ist, Programme aus ausführbaren Dateien in den Speicher zu laden, sie für die Ausführung vorzubereiten und dann auszuführen. |
Ausgabe | Linker übernimmt die Ausgabe des Sprachübersetzers, bei der es sich um Objektcode handelt, der vom Compiler/Assembler generiert wird. | Der Loader übernimmt die Ausgabe von ausführbaren Dateien, die vom Linker generiert wurden. |
Typen | Es gibt zwei Arten von Linker: Linkage Editor und Dynamic Linker. | Es gibt drei Arten von Loadern: Absolutes Laden, Verschiebbares Laden und dynamisches Laden zur Laufzeit. |
Rolle | Linker ist für das Anordnen von Objekten im Adressraum des Programms verantwortlich. | Loader ist für die Anpassung von Referenzen verantwortlich, die innerhalb des Programms verwendet werden. |
Funktion | Der Linker verknüpft den Objektcode und die Header-Dateien und gibt die ausführbare Datei aus. | Der Loader lädt die vom Linker gewonnene ausführbare Datei in den Hauptspeicher. |
Andere Funktion | Der Linker kombiniert alle Objektmodule eines Programms, um ausführbare Module zu erzeugen, er verknüpft auch die Bibliotheksfunktion im Objektmodul mit eingebauten Bibliotheken der höheren Programmiersprache. | Loader weist einem ausführbaren Modul im Hauptspeicher Speicherplatz zu. |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…