亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

深入淺析Linux庫文件的搜索路徑

添加時(shí)間:2010-11-16  添加: admin 
linux有很多值得學(xué)習(xí)的地方,這里我們主要介紹linux庫文件,經(jīng)過搜集和整理linux庫文件材料,在這里拿出來和大家分享一下,希望大家看后會有不少收獲。

  linux庫文件在連接(靜態(tài)庫和共享庫)和運(yùn)行(僅限于使用共享庫的程序)時(shí)被使用,其搜索路徑是在系統(tǒng)中進(jìn)行設(shè)置的。

  一般 Linux 系統(tǒng)把 /lib 和 /usr/lib 兩個(gè)目錄作為默認(rèn)的庫搜索路徑,所以使用這兩個(gè)目錄中的庫時(shí)不需要進(jìn)行設(shè)置搜索路徑即可直接使用。對于處于默認(rèn)庫搜索路徑之外的庫,需要將庫的位置添加到庫的搜索路徑之中。

  設(shè)置linux庫文件的搜索路徑有下列兩種方式,可任選其一使用:

  在環(huán)境變量 LD_LIBRARY_PATH 中指明庫的搜索路徑。

  在 /etc/ld.so.conf 文件中添加庫的搜索路徑。

  將自己可能存放庫文件的路徑都加入到/etc/ld.so.conf中是明智的選擇

  添加方法也極其簡單,將linux庫文件的絕對路徑直接寫進(jìn)去就OK了,一行一個(gè)。

  例如:

  /usr/X11R6/lib

  /usr/local/lib

  /opt/lib

  需要注意的是:第二種搜索路徑的設(shè)置方式對于程序連接時(shí)的庫(包括共享庫和靜態(tài)庫)的定位已經(jīng)足夠了,但是對于使用了共享庫的程序的執(zhí)行還是不夠的。這是因?yàn)闉榱思涌斐绦驁?zhí)行時(shí)對共享庫的定位速度,避免使用搜索路徑查找共享庫的低效率,所以是直接讀取庫列表文件 /etc/ld.so.cache 從中進(jìn)行搜索的。/

  etc/ld.so.cache 是一個(gè)非文本的數(shù)據(jù)文件,不能直接編輯,它是根據(jù) /etc/ld.so.conf 中設(shè)置的搜索路徑由 /sbin/ldconfig 命令將這些搜索路徑下的共享庫文件集中在一起而生成的(ldconfig 命令要以 root 權(quán)限執(zhí)行)。因此,為了保證程序執(zhí)行時(shí)對庫的定位,在 /etc/ld.so.conf 中進(jìn)行了庫搜索路徑的設(shè)置之后,還必須要運(yùn)行 /sbin/ldconfig 命令更新 /etc/ld.so.cache 文件之后才可以。

  ldconfig ,簡單的說,它的作用就是將/etc/ld.so.conf列出的路徑下的linux庫文件緩存到/etc/ld.so.cache 以供使用。因此當(dāng)安裝完一些庫文件,(例如剛安裝好glib),或者修改ld.so.conf增加新的庫路徑后,需要運(yùn)行一下 /sbin/ldconfig使所有的庫文件都被緩存到ld.so.cache中,如果沒做,即使庫文件明明就在/usr/lib下的,也是不會被使用的,結(jié)果編譯過程中抱錯(cuò),缺少xxx庫,去查看發(fā)現(xiàn)明明就在那放著,搞的想大罵computer蠢豬一個(gè)。

  在程序連接時(shí),對于linux庫文件(靜態(tài)庫和共享庫)的搜索路徑,除了上面的設(shè)置方式之外,還可以通過 -L 參數(shù)顯式指定。因?yàn)橛?-L 設(shè)置的路徑將被優(yōu)先搜索,所以在連接的時(shí)候通常都會以這種方式直接指定要連接的庫的路徑。

  前面已經(jīng)說明過了,庫搜索路徑的設(shè)置有兩種方式:在環(huán)境變量 LD_LIBRARY_PATH 中設(shè)置以及在 /etc/ld.so.conf 文件中設(shè)置。其中,第二種設(shè)置方式需要 root 權(quán)限,以改變 /etc/ld.so.conf 文件并執(zhí)行 /sbin/ldconfig 命令。而且,當(dāng)系統(tǒng)重新啟動后,所有的基于 GTK2 的程序在運(yùn)行時(shí)都將使用新安裝的 GTK+ 庫。不幸的是,由于 GTK+ 版本的改變,這有時(shí)會給應(yīng)用程序帶來兼容性的問題,造成某些程序運(yùn)行不正常。為了避免出現(xiàn)上面的這些情況,在 GTK+ 及其依賴庫的安裝過程中對于linux庫的搜索路徑的設(shè)置將采用第一種方式進(jìn)行。

  這種設(shè)置方式不需要 root 權(quán)限,設(shè)置也簡單:

  $ export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH

  可以用下面的命令查看 LD_LIBRAY_PATH 的設(shè)置內(nèi)容:

  $ echo $LD_LIBRARY_PATH

  至此,庫的兩種設(shè)置就完成了。

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎  警警  手機(jī)打開網(wǎng)站