歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

linux的函數庫管理

動態和靜態函數庫

靜態函數庫的特色:

拓展名:為.a,函數庫通常拓展名為lib×××.a類型

編譯行為:會直接整合到執行程序當中,所以利用靜態函數庫編譯成的文件會比較大

獨立執行的狀態:最大的優點就是編譯成功的可執行文件可以獨立執行,不需要向外部要求讀取函數庫內容

升級難易度:只要函數庫升級了,所有將此函數庫納入的程序都需要重新編譯。

動態函數庫的特色:

拓展名:.lib××××.so

編譯行為:在編譯時,程序裡面只有一個指向(pointer)的位置而已,也就是當可執行文件當中僅具有指向動態函數庫所在的指標而已,並不包含函數庫的內容,文件會小。

獨立執行的狀態:這類函數庫編譯的程序不能被獨立執行,當使用到的時候,程序才會讀取函數庫,所以函數庫文件必須要存在,且函數庫的所在目錄也不能改變。

升級難易度:容易

目前linux傾向使用動態函數庫,因為升級方便,只要動態函數庫升級就行,其他軟件無需變動。

如果我們將常用到的的動態函數庫先加載到內存中,如此一來,當軟件要使用函數庫就不用從硬盤讀取。如何將動態函數庫加載到高速緩存當中呢?

1.首先要在/etc/id.so.conf裡面寫下想要讀入高速緩存的動態函數庫所在的目錄。

2.接下來利用idconfig這個可執行文件將/etc/id.so.conf的數據讀入緩存

程序的動態函數庫解析:Ldd

如果我想知道/usr/bin/passwd 這個程序含有的動態函數庫有哪些,可以這樣做

檢測軟件的正確性:

可通過每個文件獨特的指紋驗證數據,MD5

Copyright © Linux教程網 All Rights Reserved