Welche Datei ist la unter Linux?

WBOY
WBOYOriginal
2022-05-09 15:48:244089Durchsuche

Unter Linux ist la eine mit libtool kompilierte Bibliotheksdatei, die Informationen zu dynamischen Bibliotheken und statischen Bibliotheken mit demselben Namen aufzeichnet. Diese Datei ist die einzige Datei, die über libtool zwischen Plattformen gespeichert wird. libtool ist ein allgemeines Bibliotheksunterstützungsskript, das sich nur mit libtool-Dateien mit den Suffixnamen lo und la befasst.

Welche Datei ist la unter Linux?

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

Welche Datei ist la unter Linux?

la: Die mit libtool kompilierte Bibliotheksdatei ist eigentlich eine Textdatei, die Informationen über dynamische und statische Bibliotheken mit demselben Namen aufzeichnet Skripte, die die Komplexität der Verwendung dynamischer Bibliotheken in einer einheitlichen und portablen Schnittstelle verbergen; mit den Standardmethoden von libtool können dynamische Bibliotheken auf verschiedenen Plattformen erstellt und aufgerufen werden. Man kann davon ausgehen, dass libtool eine Abstraktion von gcc ist, die gcc (oder andere Compiler) umschließt. Benutzer müssen libtool nur mitteilen, welche Bibliotheken kompiliert werden müssen, und libtool kümmert sich um die Bibliotheksabhängigkeiten und andere Details. libtool verarbeitet nur libtool-Dateien mit den Suffixen lo und la.

Wissen erweitern:

Was sind die Unterschiede zwischen so, o, lo, a und la-Dateien unter Linux?


o: kompilierte Zieldatei

    a: statische Bibliothek, die eigentlich ein Paket mehrerer o-Dateien ist
  • so: Dynamic Link Library (gemeinsam genutzte Bibliothek)
  • lo: Verwenden Sie libtool Bei der Zieldatei handelt es sich tatsächlich um einige Informationen, die der O-Datei hinzugefügt werden. Eine der Hauptfunktionen von libtool besteht darin, das Problem der Bibliotheksabhängigkeit beim Kompilieren großer Software zu lösen Personalressourcen der Programmierer. libtool bietet eine einheitliche Schnittstelle, die Details wie Unterschiede in den Bibliotheksnamen zwischen verschiedenen Plattformen verbirgt, eine abstrakte High-Level-Bibliothek libxx.la mit dem Suffixnamen la (eigentlich eine Textdatei) generiert und die Abhängigkeiten der Bibliothek anderen Bibliotheken zuweist sind in der Akte des la geschrieben. dependency_libs zeichnet in dieser Datei alle Bibliotheken auf, von denen die Bibliothek abhängt (einige davon werden in Form von .la-Dateien hinzugefügt); libdir gibt den Installationsort der Bibliothek an; Name der statischen Bibliothek.
  • Wenn der Kompilierungsprozess die Verknüpfungsphase erreicht und der folgende Befehl vorhanden ist:

    $libtool --mode=link gcc -o myprog -rpath /usr/lib –L/usr/lib –la
  • libtool geht zum Pfad /usr/lib, um liba.la zu finden, und liest dann den Namen der tatsächlichen gemeinsam genutzten Bibliothek daraus ( Dies wird in Bibliotheksnamen (z. B. liba.so) und Pfad (aufgezeichnet in lib_dir, z. B. libdir='/usr/lib') aufgezeichnet. Geben Sie Parameter wie /usr/lib/liba.so an die ausgelöste gcc-Befehlszeile zurück .
  • Wenn liba.so von der Bibliothek /usr/lib/libb.so abhängt, gibt es dependency_libs='-L/usr/lib -lb' oder dependency_libs='/usr/lib/libb in liba.la '-Zeile, wenn es sich um die erstere handelt, wird „-L/usr/lib -lb“ direkt als Parameter an die gcc-Befehlszeile übergeben; wenn es die letztere ist, liest libtool aus /usr/lib/libb.la Nehmen Sie den tatsächlichen Bibliotheksnamen und den Pfad von libb.so, kombinieren Sie sie dann in den Parametern „/usr/lib/libb.so“ und übergeben Sie sie an die gcc-Befehlszeile.

  • Verwandte Empfehlungen: „
Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Datei ist la unter Linux?. 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