Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche Dateien haben Linux o und a?

Welche Dateien haben Linux o und a?

青灯夜游
青灯夜游Original
2022-11-10 19:16:312377Durchsuche

Unter Linux bezieht sich die „.o“-Datei auf die Zieldatei, d. h. die Computerdatei, die den Zielcode speichert; die Zieldatei enthält den Maschinencode (der direkt vom Zentralprozessor des Computers ausgeführt werden kann) und Daten, die der Code bei der Ausführung verwendet, sind ebenfalls enthalten. Die Datei „.a“ ​​bezieht sich auf eine statische Bibliotheksdatei, was bedeutet, dass die aufzurufende Funktion oder der aufzurufende Prozess mit der ausführbaren Datei verknüpft ist und Teil der ausführbaren Datei wird. Der durch die dynamische Verknüpfung aufgerufene Funktionscode wird nicht in die Datei kopiert ausführbare Datei der Anwendung, fügt ihr aber die Beschreibungsinformationen der aufgerufenen Funktion hinzu.

Welche Dateien haben Linux o und a?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

o ist ein Objekt, das der unter Windows kompilierten obj-Datei entspricht, allgemein bekannt als Zieldatei

a ist ein Archiv, das der unter Windows VC kompilierten lib-Datei entspricht, allgemein bekannt als statische Bibliotheksdatei ; Mehrere .a können verknüpft werden, um eine ausführbare Exe-Datei zu generieren. Die

.o-Datei ist eine Linkdatei. Eine statische Bibliotheksdatei wird von der .o-Datei generiert und dient als externes Bibliotheksprogramm zur Bereitstellung von Funktionen und Schnittstellen. Erzeugen Sie eine .o-Datei.

Die o-Datei (Objektdatei) in Linux

Die Objektdatei (Objektdatei) ist eine Computerdatei, die den Zielcode speichert. Sie wird oft als Binärdatei (Binärdateien) bezeichnet. Die Objektdatei enthält Maschinencode (der direkt vom Zentralprozessor des Computers ausgeführt werden kann) und Daten, die der Code bei der Ausführung verwendet, wie etwa Verschiebungsinformationen, etwa die Programmsymboltabelle (Namen von Variablen und Funktionen), die zum Verknüpfen oder Debuggen verwendet wird , zusätzlich zu Enthält zusätzliche Debugging-Informationen.

Unter Linux gibt es drei Arten von Objektdateiformen:

Ausführbare Objektdatei, verschiebbare Objektdatei und gemeinsam genutzte Objektdatei. Es gibt auch entsprechende Dateien, die als ausführbare Dateien, Objektdateien und gemeinsam genutzte Bibliotheken bezeichnet werden. Sie haben nur unterschiedliche Begriffe und beziehen sich auf dasselbe.

Ausführbare Objektdatei: Enthält Binärcode und Daten und kann direkt im Speicher ausgeführt werden.

Verschiebbare Objektdatei: Enthält Binärcode und Daten, die zur Kompilierungszeit mit anderen verschiebbaren Objektdateien kombiniert werden können, um eine ausführbare Objektdatei zu erstellen.

Freigegebene Objektdatei: Es handelt sich um eine spezielle verschiebbare Objektdatei, die dynamisch in den Speicher geladen und während des Ladens oder zur Laufzeit verknüpft werden kann.

Tatsächlich generieren Compiler und Assembler verschiebbare Objektdateien (einschließlich gemeinsam genutzter Objektdateien). Der Linker generiert eine ausführbare Objektdatei.

Objektdatei-Dateiformat unter Linux:

Aufgrund der kompilierten Zwischendateien (.obj unter Windows und .o unter Linux), dynamischen Linkbibliotheken und statischen Linkbibliotheken (.lib.dll unter Windows und Linux .a. so) Unter der ausführbaren Datei ähneln Inhalt und Struktur der ausführbaren Datei, sodass sie im Allgemeinen im gleichen Dateiformat wie die ausführbare Datei gespeichert wird.

Die a-Datei (statische Bibliotheksdatei) unter Linux

.a-Datei ist eine statische Linkbibliotheksdatei im LINUX-System.

Die sogenannte statische Verknüpfung bezieht sich darauf, die aufzurufende Funktion oder den aufzurufenden Prozess in die ausführbare Datei einzubinden und Teil der ausführbaren Datei zu werden. Wenn mehrere Programme dieselbe Funktion aufrufen, befinden sich mehrere Kopien der Funktion im Speicher, wodurch wertvolle Speicherressourcen verschwendet werden. .so-Dateien sind gemeinsam genutzte Bibliotheksdateien (dynamisch verknüpft). Der durch dynamische Verknüpfung aufgerufene Funktionscode wird nicht in die ausführbare Datei der Anwendung kopiert, sondern nur die Beschreibungsinformationen der aufgerufenen Funktion (häufig einige Verschiebungsinformationen) hinzugefügt. Erst wenn die Anwendung geladen wird, beginnt der Speicher zu laufen. Unter der Verwaltung des Betriebssystems wird eine Verknüpfungsbeziehung zwischen dem Anwendungsprogramm und der entsprechenden .so hergestellt.

.a-Datei ist eine Kombination aus mehreren .o-Dateien. Die .o-Datei ist eine Objektdatei und der darin enthaltene Inhalt besteht aus maschinenausführbaren Anweisungen wie 01. Wenn das Programm ausgeführt werden soll, muss es verknüpft werden. Beim Verknüpfen werden mehrere .o-Dateien zu einer ausführbaren Datei verknüpft .

Verwandte Empfehlungen: „Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Dateien haben Linux o und a?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet Red Hat Linux?Nächster Artikel:Was bedeutet Red Hat Linux?