Unterschied zwischen Linker und Loader

Inhaltsverzeichnis:

Unterschied zwischen Linker und Loader
Unterschied zwischen Linker und Loader

Video: Unterschied zwischen Linker und Loader

Video: Unterschied zwischen Linker und Loader
Video: [C++ von { bis }] Präprozessor, Compiler, Linker 2024, November
Anonim

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 höhere Programmiersprachen und sie sind für Menschen verständlich, aber nicht für den Computer. Daher wird ein High-Level-Programm unter Verwendung eines Sprachübersetzers in Maschinensprache umgewandelt. Ein in einer Hochsprache geschriebenes Programm ist ein Quellcode. Nach der Konvertierung wird der übersetzte Code als Objektcode bezeichnet. Der Linker und der Lader 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 Lader ist die Systemsoftware, die die vom Linker erzeugte ausführbare Datei in den Hauptspeicher lädt. Das ist der Hauptunterschied zwischen Linker und Loader.

Was ist Linker?

Ein Computerprogramm ist eine Reihe von Anweisungen, die einem Computer gegeben werden, um eine bestimmte Aufgabe auszuführen. Ein Computerprogramm kann unter Verwendung 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 ähnlichen Syntax wie die englische Sprache. Einige Beispiele für Hochsprachen sind Java, C und Python. Ein in einer höheren Programmiersprache geschriebenes Programm 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, dann ist 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, geht er durch den Compiler und konvertierter 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 Funktionalitäten für diese eingebauten Funktionen befinden sich in den Header-Dateien. Gemäß dem oben erläuterten Beispiel ist der Objektcode Test.obj wird mit den erforderlichen Header-Dateien mit dem Linker hinzugefügt. Es erstellt eine neue Datei namens Test.exe. Es ist eine ausführbare Datei. Daher ist es vom Computer ausführbar.

Was ist Loader?

Ein Programm, das ausgeführt werden soll, muss in den Speicher gestellt werden. Der Linker verknüpft den Objektcode und die Header-Dateien und gibt die ausführbare Datei aus. Der Lader ist die Systemsoftware, die die vom Linker erzeugte ausführbare Datei in den Hauptspeicher lädt. Es weist dem ausführbaren Modul im Hauptspeicher den Speicherplatz zu. Daher ist ein Loader ein Teil des Betriebssystems, der für das Laden von Programmen und Bibliotheken zuständig ist.

Unterschied zwischen Linker und Loader
Unterschied zwischen Linker und Loader

Abbildung 01: Reihenfolge, in der der Quellcode in den Speicher geladen wird

Das Laden eines Programms umfasst mehrere Schritte. Es umfasst das Lesen des Inh alts der ausführbaren Datei, die die Programmanweisung enthält, in den Speicher und auch das Ausführen der notwendigen vorbereitenden Aufgaben zum Ausführen der ausführbaren Datei. Sobald das Laden abgeschlossen ist, startet das Betriebssystem das Programm, indem es die Steuerung an den geladenen Programmcode übergibt. Spezielle Computersysteme wie Embedded-Systeme haben in der Regel keine Loader. 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?

Linker vs. 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.
Eingabe
Der Linker übernimmt die Ausgabe des Sprachübersetzers, also den Objektcode. Der Loader übernimmt die Ausgabe des Linkers, also die ausführbare 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 aus dem Linker gewonnene ausführbare Datei in den Hauptspeicher.

Zusammenfassung – Linker vs. Loader

Linker und Loader sind zwei Softwarekomponenten, die sich auf die Programmausführung beziehen. 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 Lader ist die Systemsoftware, die die vom Linker erzeugte ausführbare Datei in den Hauptspeicher lädt. Das ist der Unterschied zwischen Linker und Loader.

Empfohlen: