linux庫文件

庫文件在鏈接(靜態庫和共享庫)和運行(僅限於使用共享庫的程序)時被使用,其搜索路徑是在系統中進行設置的 。通常 Linux 系統把 /lib 和 /usr/lib 兩個目錄做爲默認的庫搜索路徑,因此使用這兩個目錄中的庫時不須要進行設置搜索路徑便可直接使用。ide

      對於處於默認庫搜索路徑以外的庫,須要將庫的位置添加到庫的搜索路徑之中。設置庫文件的搜索路徑有下列兩種方式,可任選其一使用。spa

  • 在環境變量 LD_LIBRARY_PATH 中指明庫的搜索路徑
  • /etc/ld.so.conf 文件中添加庫的搜索路徑,將本身可能存放庫文件的路徑都加入到/etc/ld.so.conf 中,而後執行/sbin/ldconfig 命令。

      注意:第二種搜索路徑的設置方式對於程序鏈接時的庫(包括共享庫和靜態庫)的定位已經足夠了,可是對於使用了共享庫的程序的執行仍是不夠的。由於爲了加快程序執行時對共享庫的定位速度,避免使用搜索路徑查找共享庫的低效率,因此是直接讀取庫列表文件 /etc/ld.so.cache 從中進行搜索的。/etc/ld.so.cache 是一個非文本的數據文件,不能直接編輯,它是根據 /etc/ld.so.conf 中設置的搜索路徑由 /sbin/ldconfig 命令將這些搜索路徑下的共享庫文件集中在一塊兒而生成的(ldconfig 命令要以 root 權限執行)。所以,爲了保證程序執行時對庫的定位,在 /etc/ld.so.conf 中進行了庫搜索路徑的設置以後,還必需要運行 /sbin/ldconfig 命令更新 /etc/ld.so.cache 文件以後才能夠。it

相關文章
相關標籤/搜索