Di Linux, la ialah fail perpustakaan yang disusun menggunakan libtool Ia adalah fail teks yang merekodkan maklumat yang berkaitan dengan perpustakaan dinamik dan perpustakaan statik dengan nama yang sama. libtool ialah skrip sokongan perpustakaan umum yang hanya berkaitan dengan fail libtool dengan nama akhiran lo dan la.
Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.
la: Fail perpustakaan yang disusun menggunakan libtool sebenarnya adalah fail teks yang merekodkan maklumat tentang perpustakaan dinamik dan statik dengan nama yang sama
Cara libtool berfungsi
libtool ialah skrip sokongan perpustakaan universal yang menyembunyikan kerumitan penggunaan perpustakaan dinamik dalam antara muka bersatu dan mudah alih menggunakan kaedah standard libtool, ia boleh digunakan pada platform yang berbeza Buat dan memanggil perpustakaan dinamik. Ia boleh dianggap bahawa libtool ialah abstraksi gcc, yang membungkus gcc (atau pengkompil lain tidak perlu mengetahui butirannya. Mereka hanya perlu memberitahu libtool yang mana perpustakaan perlu disusun dan libtool akan mengendalikan kebergantungan perpustakaan). dan butiran lain. libtool hanya berurusan dengan fail libtool dengan akhiran lo dan la.
Pengetahuan yang diperluas:
Apakah perbezaan antara fail so, o, lo, a dan la di bawah Linux?
o: fail sasaran terkumpul
a: perpustakaan statik, yang sebenarnya merupakan pakej beberapa fail
jadi: perpustakaan pautan dinamik (pustaka dikongsi)
lo: fail sasaran yang disusun menggunakan libtool sebenarnya menambah beberapa maklumat pada fail o
Salah satu fungsi utama libtool adalah untuk menyelesaikan masalah kebergantungan perpustakaan dalam proses penyusunan perisian besar yang memerlukan kerja penyelenggaraan berat kebergantungan perpustakaan, sekali gus membebaskan sumber manusia pengaturcara. libtool menyediakan antara muka bersatu, menyembunyikan butiran seperti perbezaan dalam nama pustaka antara platform yang berbeza, menjana libxx.la perpustakaan peringkat tinggi abstrak dengan nama akhiran la (sebenarnya fail teks), dan memperuntukkan kebergantungan perpustakaan kepada pustaka lain ditulis dalam fail la. dependency_libs dalam fail ini merekodkan semua perpustakaan yang bergantung kepada perpustakaan (beberapa daripadanya ditambah dalam bentuk fail .la libdir menunjukkan lokasi pemasangan perpustakaan itu merekodkan nama perpustakaan yang dikongsi; nama perpustakaan statik.
Apabila proses kompilasi mencapai peringkat pautan, jika terdapat arahan berikut:
$libtool --mode=link gcc -o myprog -rpath /usr/lib –L/usr/lib –la
libtool akan pergi ke laluan /usr/lib untuk mencari liba.la, dan kemudian baca fail sebenar daripadanya Nama pustaka kongsi (dirakam dalam library_names, seperti liba.so) dan laluan (dirakam dalam lib_dir, seperti libdir='/usr/lib'), parameter pulangan seperti /usr/lib/ liba.so kepada pencetus daripada baris arahan gcc.
Jika liba.so bergantung pada perpustakaan /usr/lib/libb.so, akan ada dependency_libs='-L/usr/lib -lb' atau dependency_libs='/usr/ dalam liba.la lib /libb.la', jika ia adalah yang pertama, ia akan terus menghantar "-L/usr/lib -lb" sebagai parameter kepada baris arahan gcc, jika ia adalah yang terakhir, libtool akan menghantarnya dari /usr/; lib/libb Baca nama pustaka dan laluan sebenar libb.so dalam .la, kemudian gabungkannya ke dalam parameter "/usr/lib/libb.so" dan hantarkannya ke baris arahan gcc.
Cadangan berkaitan: "Tutorial Video Linux"
Atas ialah kandungan terperinci Fail apa la dalam linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!