Hauptunterschied - Linker vs Loader
Ein Computerprogramm wird verwendet, um dem Computer Anweisungen zu geben. Es wird mit einer bestimmten Programmiersprache geschrieben. Programmiersprachen wie C, Java sind Programmiersprachen auf hoher Ebene und für den Menschen verständlich, nicht jedoch für den Computer. Daher wird ein Programm auf hoher Ebene mithilfe eines Sprachübersetzers in Maschinensprache konvertiert. Ein Programm, das in einer höheren Sprache geschrieben wurde, ist ein Quellcode. Nach der Konvertierung wird der übersetzte Code als Objektcode bezeichnet. Der Linker und der Loader sind zwei Softwareprogramme, die zur Programmausführung verwendet werden. Dieser Artikel beschreibt den Unterschied zwischen Linker und Loader. Linker ist die Software, die den Objektcode mit zusätzlichen Dateien wie Header-Dateien verknüpft und eine ausführbare Datei mit der Erweiterung.exe erstellt. Der Loader ist die Systemsoftware, die die vom Linker generierte ausführbare Datei in den Hauptspeicher lädt. Das ist der Hauptunterschied zwischen Linker und Loader.
INHALT
1. Übersicht und Hauptunterschied
2. Was ist Linker
? 3. Was ist Loader?
4. Beziehung zwischen Linker und Loader.
5. Vergleich nebeneinander - Linker gegen Loader in Tabellenform.
6. Zusammenfassung
Was ist Linker?
Ein Computerprogramm ist eine Reihe von Anweisungen, die einem Computer zur Ausführung einer bestimmten Aufgabe gegeben werden. Ein Computerprogramm kann mit einer Programmiersprache geschrieben werden. Die meisten Programmiersprachen sind High-Level-Programmierung. Sie sind für den Programmierer leicht verständlich und lesbar. Diese Sprachen folgen einer Syntax ähnlich der englischen Sprache. Einige Beispiele für Hochsprachen sind Java, C und Python. Ein Programm, das mit einer höheren Programmiersprache geschrieben wurde, wird als Quellcode, Quelldatei oder Quellprogramm bezeichnet. Die Erweiterung des Quellcodes hängt von der Sprache ab, mit der er entwickelt wurde. Wenn der Quellcode in C ++ geschrieben ist, lautet die Dateierweiterung.cpp. Wenn der Quellcode in Python geschrieben ist, lautet die Erweiterung.py.
Sogar der Quellcode ist für den Programmierer verständlich. es ist für den Computer nicht verständlich. Daher sollte der Quellcode mithilfe eines Sprachübersetzers in ein maschinenverständliches Format konvertiert werden. Es kann ein Compiler oder ein Interpreter sein. Der übersetzte Code wird als Objektcode bezeichnet. Der Objektcode ist in Maschinensprache. Es besteht aus Nullen und einmal. Der Computer kann den Objektcode direkt verstehen. Es hat die Erweiterung.obj. Wenn es einen Quellcode als Test.c gibt, durchläuft er den Compiler und der konvertierte Code wird zu Test.obj.
Linker ist die Software, die den Objektcode mit zusätzlichen Dateien wie Header-Dateien verknüpft und eine ausführbare Datei mit der Erweiterung.exe erstellt. Das Programm hat möglicherweise integrierte Funktionen verwendet. Die Funktionen für diese integrierten Funktionen befinden sich in den Header-Dateien. Gemäß dem oben erläuterten Beispiel wird der Objektcode Test.obj mit den erforderlichen Header-Dateien unter Verwendung des Linkers hinzugefügt. Es wird eine neue Datei namens Test.exe erstellt. Es ist eine ausführbare Datei. Daher kann es vom Computer ausgeführt werden.
Was ist Loader?
Ein Programm, das ausgeführt werden soll, muss im Speicher abgelegt werden. Der Linker verknüpft den Objektcode und die Header-Dateien und gibt die ausführbare Datei aus. Der Loader ist die Systemsoftware, die die vom Linker generierte ausführbare Datei in den Hauptspeicher lädt. Es ordnet den Speicherplatz dem ausführbaren Modul im Hauptspeicher zu. Daher ist ein Loader Teil des Betriebssystems, das für das Laden von Programmen und Bibliotheken verantwortlich ist.
Abbildung 01: Reihenfolge, in der der Quellcode in den Speicher geladen wird
Das Laden eines Programms umfasst mehrere Schritte. Es umfasst das Lesen des Inhalts der ausführbaren Datei, die die Programmanweisung enthält, in den Speicher und das Ausführen der erforderlichen Vorbereitungsaufgaben zum Ausführen der ausführbaren Datei. Sobald der Ladevorgang abgeschlossen ist, startet das Betriebssystem das Programm, indem es die Steuerung an den geladenen Programmcode übergibt. Spezielle Computersysteme wie eingebettete Systeme haben im Allgemeinen keine Lader. Der Code wird direkt vom ROM ausgeführt.
Wie ist die Beziehung zwischen Linker und Loader?
Die Ausgabe des Linkers geht an den Loader
Was ist der Unterschied zwischen Linker und Loader?
Diff Artikel Mitte vor Tabelle
Linker gegen Loader |
|
Linker ist die Software, die den Objektcode mit zusätzlichen Dateien wie Header-Dateien verknüpft und eine ausführbare Datei mit der Erweiterung.exe erstellt. | Der Loader ist die Systemsoftware, die die vom Linker generierte ausführbare Datei in den Hauptspeicher lädt. |
Eingang | |
Der Linker übernimmt die Ausgabe des Sprachübersetzers, bei dem es sich um den Objektcode handelt. | Der Loader übernimmt die Ausgabe vom Linker, der ausführbaren Datei. |
Funktionalität | |
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. |
Zusammenfassung - Linker vs Loader
Linker und Loader sind zwei Softwarekomponenten für die Programmausführung. In diesem Artikel wurde der Unterschied zwischen dem Linker und dem Loader erläutert. Linker ist die Software, die den Objektcode mit zusätzlichen Dateien wie Header-Dateien verknüpft und eine ausführbare Datei mit der Erweiterung.exe erstellt. Der Loader ist die Systemsoftware, die die vom Linker generierte ausführbare Datei in den Hauptspeicher lädt. Das ist der Unterschied zwischen Linker und Loader.