Was ist der Unterschied zwischen Linker Loader und Compiler?

Inhaltsverzeichnis:

Anonim

Der Hauptunterschied zwischen Linker Loader und Compiler besteht darin, dass die linker kombiniert eine oder mehrere vom Compiler generierte Objektdateien zu einer einzigen ausführbaren Datei. Währenddessen legt ein Loader die Programme in den Speicher und bereitet sie für die Ausführung vor, während der Compiler den Quellcode in Objektcode umwandelt.

Ein Computerprogramm ist eine Sammlung von Anweisungen, die eine bestimmte Aufgabe ausführen, wenn der Computer sie ausführt. Eine Systemsoftware ist eine Art Computerprogramm, das einer anderen Software eine Plattform bietet. Linker, Loader und Compiler sind drei Systemsoftware, die mit der Computerprogrammierung verbunden ist.

Compiler, Linker, Loader

Was ist ein Compiler?

Ein Programm ist ein Satz von Anweisungen, um eine bestimmte Aufgabe auszuführen. Es wird auch als Quellcode bezeichnet. Der Programmierer kann den Quellcode verstehen, aber die CPU kann ihn nicht verstehen. Daher ist es notwendig, den Quellcode in ein maschinenverständliches Format zu konvertieren.

Abbildung 1: Compiler

Ein Compiler ist eine spezielle Software, die in diesem Prozess verwendet wird. Es wandelt den Quellcode in Objektcode um. Dieser Objektcode ist ein Zwischencode. Die CPU kann es nicht direkt ausführen.

Was ist ein Linker?

Nach der Konvertierung des Quellcodes in den Objektcode führt der Linker die Linking-Aufgabe durch. Es nimmt eine oder mehrere vom Compiler erzeugte Objektdateien und kombiniert sie, um eine ausführbare Datei zu erzeugen.

Abbildung 2: Linker

Darüber hinaus kombiniert es die Objektcodes mit Bibliotheken. Wenn beispielsweise in einem C-Programm die Funktion sqrt() zum Berechnen der Quadratwurzel einer Zahl vorhanden ist, verknüpft der Linker das Programm mit der mathematischen Bibliothek. Schließlich kann die CPU die generierte ausführbare Datei lesen und verstehen. Daher kann die CPU diese Datei ausführen, um die im Programm definierte Aufgabe auszuführen.

Was ist ein Lader?

Ein Loader lokalisiert Programme im Speicher und bereitet sie für die Ausführung vor. Es ist ein wichtiger Bestandteil beim Starten eines Programms. Es umfasst Aufgaben wie das Lesen des Inhalts der ausführbaren Datei und das Ablegen der Datei im Arbeitsspeicher. Darüber hinaus führt es die erforderlichen Aufgaben aus, um die ausführbare Datei für die Ausführung vorzubereiten. Nachdem das Laden abgeschlossen ist, startet das OS das Programm, indem es die Kontrolle an den geladenen Programmcode übergibt.

Abbildung 3: Zusammenstellung

Die meisten Betriebssysteme unterstützen Loader zum Laden von Programmen. Bei den meisten Systemen befindet sich der Lader im Speicher, während andere, die virtuellen Speicher unterstützen, den Lader in einem auslagerungsfähigen Speicherbereich haben.

Unterschied zwischen Linker Loader und Compiler

Definition

Ein Linker ist ein Computerdienstprogramm, das eine oder mehrere von einem Compiler erzeugte Objektdateien nimmt und sie zu einer einzigen ausführbaren Datei kombiniert. Ein Loader ist ein Teil eines Betriebssystems, der für das Laden von Programmen in den Arbeitsspeicher verantwortlich ist. Ein Compiler ist eine Software, die in einer Programmiersprache (Quellcode) geschriebenen Computercode in eine andere Programmiersprache (Zielcode) umwandelt. Dies erklärt also den Hauptunterschied zwischen Linker Loader und Compiler.

Funktionalität

Darüber hinaus kombiniert ein Linker mehrere Objektcodes und verknüpft sie mit Bibliotheken. Währenddessen bereitet ein Loader die ausführbare Datei zum Ausführen vor, während ein Compiler den Quellcode in Objektcode umwandelt. Daher ist dies der Unterschied zwischen Linker Loader und Compiler in Bezug auf die Funktionalität.

Abschluss

Kurz gesagt, der Unterschied zwischen Linker-Loader und Compiler besteht darin, dass ein Linker eine oder mehrere vom Compiler erzeugte Objektdateien zu einer einzigen ausführbaren Datei kombiniert und ein Loader die Programme in den Speicher legt und sie für die Ausführung vorbereitet, während ein Compiler den Quellcode in Objektcode.

Referenz:

1. „Linker (Computing).“ Wikipedia, Wikimedia Foundation, 6. Oktober 2018, hier verfügbar.2. „Lader (Computing).“ Wikipedia, Wikimedia Foundation, 10. Oktober 2018, hier verfügbar.3. "Compiler." Wikipedia, Wikimedia Foundation, 9. Oktober 2018, hier verfügbar.

Bild mit freundlicher Genehmigung:

1. „Idealer Compiler“. (CC BY-SA 3.0) über Commons Wikimedia2. „Linker“ von Qef – Eigene Arbeit des Uploaders, basierend auf der Anordnung eines Bitmap-Äquivalents von Orderud (Public Domain) über Commons Wikimedia3. „Screenshot-turbo51.com 2016-01-14 18-44-16“ Von անհայտ – Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986. ISBN 0-201-10088-6 (CC BY-SA 4.0) über Commons Wikimedia

Was ist der Unterschied zwischen Linker Loader und Compiler?