Was ist der Unterschied zwischen Objektdatei und ausführbarer Datei?

Das Hauptunterschied zwischen Objektdatei und ausführbarer Datei ist das Eine Objektdatei ist eine Datei, die nach dem Kompilieren des Quellcodes generiert wird, während eine ausführbare Datei eine Datei ist, die nach dem Verknüpfen eines Satzes von Objektdateien mithilfe eines Linkers generiert wird.  

C ist eine allgemeine Programmiersprache für allgemeine Zwecke. Darüber hinaus ist es eine strukturierte Programmiersprache, die dazu beiträgt, effiziente Programme zu schreiben. Betriebssysteme, Sprachcompiler, Texteditoren, Netzwerktreiber und Datenbanken sind einige Anwendungen der Programmiersprache C. Objektdatei und ausführbare Datei sind zwei Dateien, die sich auf die C-Programmierung beziehen.

Wichtige Bereiche

1. Was ist eine Objektdatei?
     - Definition, Funktionalität
2. Was ist eine ausführbare Datei?
     - Definition, Funktionalität
3. Wie ist die Beziehung zwischen Objektdatei und ausführbarer Datei
     - Gliederung der Vereinigung
4. Was ist der Unterschied zwischen Objektdatei und ausführbarer Datei?
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

C-Sprache, ausführbare Datei, Objektdatei

Was ist eine Objektdatei?

C-Programm ist zunächst ein Satz von Anweisungen, die in der Programmiersprache C geschrieben sind, um eine bestimmte Aufgabe auszuführen. Dieses Programm wird als Quellcode bezeichnet. Der Programmierer kann den Quellcode lesen und verstehen, aber die CPU versteht ihn nicht. Daher ist es notwendig, den Quellcode in ein maschinenverständliches Format zu konvertieren. Nach dem Kompilieren des Quellcodes wird ein Objektcode generiert.

Abbildung 1: Quellcode

Objektdatei ist ein anderer Name für Objektcode. Die Objektdatei hat in der Windows-Umgebung die Erweiterung .obj. Darüber hinaus hat die Objektdatei die. o Dateierweiterung in Linux-Umgebung. Die CPU kann die Objektdatei jedoch nicht direkt ausführen.

Was ist eine ausführbare Datei?

Nach dem Schreiben des C-Programms sollte der Programmierer bei Syntaxfehlern diese bearbeiten. Wenn jedoch keine Syntaxfehler vorliegen, konvertiert der Compiler den Quellcode in eine Objektdatei. Dann führt der Linker den Linkvorgang durch. Sie benötigt eine oder mehrere vom Compiler generierte Objektdateien und fügt sie zu einer einzigen ausführbaren Datei zusammen. Außerdem werden die anderen Programmdateien und Funktionen verknüpft, die das Programm benötigt. Wenn das Programm beispielsweise die Funktion "exp ()" hat, verknüpft der Linker das Programm mit der mathematischen Bibliothek des Systems.

Abbildung 2: Erstellen einer ausführbaren Datei

Der Programmierer versteht die Anweisungen in der ausführbaren Datei nicht, aber die CPU kann diese Anweisungen lesen und verstehen. Daher führt die CPU die ausführbare Datei direkt aus, um die definierten Aufgaben im Programm auszuführen.

Beziehung zwischen Objektdatei und ausführbarer Datei

  • Objektdateien werden kombiniert, um eine ausführbare Datei zu erstellen.

Unterschied zwischen Objektdatei und ausführbarer Datei

Definition

Eine Objektdatei ist eine Datei, die einen Objektcode enthält, der Maschinencode für ein verschiebbares Format aufweist, der nicht direkt ausführbar ist. Eine ausführbare Datei ist eine Datei, die direkt vom Computer ausgeführt werden kann und die angegebenen Aufgaben gemäß den codierten Anweisungen ausführen kann. Daher wird der Hauptunterschied zwischen Objektdatei und ausführbarer Datei erklärt.

Art

Ein weiterer Unterschied zwischen Objektdatei und ausführbarer Datei ist, dass eine Objektdatei eine Zwischendatei ist, eine ausführbare Datei jedoch eine endgültige Datei ist.

Funktionalität

Außerdem konvertiert der Compiler den Quellcode in eine Objektdatei. Der Linker verknüpft jedoch die Objektdateien mit der Systembibliothek und fügt die Objektdateien zusammen, um eine ausführbare Datei zu erstellen.

Direkte Ausführung durch CPU

Die CPU kann die Objektdatei nicht direkt ausführen, während die CPU eine ausführbare Datei direkt ausführen kann. Daher ist dies ein wesentlicher Unterschied zwischen der Objektdatei und der ausführbaren Datei.

Fazit

Zusammenfassend sind Object File und Executable File zwei Dateien, die sich auf die C-Programmierung beziehen. Der Hauptunterschied zwischen Objekt- und ausführbaren Dateien besteht darin, dass eine Objektdatei eine Datei ist, die generiert wird, nachdem der Quellcode kompiliert wurde, während eine ausführbare Datei eine Datei ist, die generiert wird, nachdem ein Satz von Objektdateien mithilfe eines Linkers miteinander verbunden wurde. 

Referenz:

1. "Linker (Computing)". Wikipedia, Wikimedia Foundation, 6 Oct. 2018, Verfügbar hier.

Bildhöflichkeit:

1. „Quellcode in C“ Von Romainhk - Eigene Arbeit (Bild und Code) (CC BY-SA 3.0) über Commons Wikimedia
2. "C-Sprachstufen" (CC BY-SA 3.0) über Commons Wikimedia