Unter Linux ist die „.a“-Datei eine statische Linkbibliotheksdatei; die statische Linkbibliotheksdatei bezieht sich auf die aufzurufende Funktion oder den aufzurufenden Prozess, der mit der ausführbaren Datei verknüpft ist und Teil der ausführbaren Datei und der Funktion wird Der vom dynamischen Link aufgerufene Code wird nicht in die ausführbare Datei der Anwendung kopiert, sondern die Beschreibungsinformationen der aufgerufenen Funktion werden hinzugefügt.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
.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 .
Wissen erweitern
.o ist ein Objekt, das der unter Windows kompilierten obj-Datei entspricht, die allgemein als Zieldatei bezeichnet wird.
.a ist ein Archiv, das der unter Windows VC kompilierten lib-Datei entspricht , allgemein bekannt als statische Bibliotheksdatei .
.o-Datei ist eine Linkdatei, .a ist eine statische Bibliotheksdatei, die von .o-Datei generiert wird. Als Bibliothek stellt sie Funktionen und Schnittstellen für externe Programme bereit.
.o-Datei generieren:
gcc -c test.o test.c
.a-Datei generieren:
ar cqs test.a test.o
.o entspricht der obj-Datei in Windows. Eine .c- oder .cpp-Datei entspricht einer .o-Datei
.a ist mehrere .o Zusammen werden sie für statische Verbindungen verwendet, d. h. mehrere .a-Dateien können verknüpft werden, um eine ausführbare EXE-Datei zu generieren.
.so ist ein gemeinsam genutztes Objekt, das für dynamische Verbindungen verwendet wird und der Windows-DLL ähnelt nur bei Verwendung.
Empfohlenes Lernen: Linux-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist eine .a-Datei unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!