青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

運行時使用非標準位置/usr/lib和/lib下的庫的方式有三種:
(1) 設置$LD_LIBRARY_PATH=庫所在目錄(多個目錄用:分隔),系統(tǒng)加載工具ld.so/ld-linux.so將順序搜索變量指定的目錄。例如#$LD_LIBRARY_PATH=/usr/local/mysql/lib ./test_mysql
(2) 以root身份把庫路徑加入/etc/ld.so.conf或在/etc/ld.so.conf.d中創(chuàng)建特定的.conf文件,然后運行l(wèi)dconfig更新/etc/ld.so.cache。例如:在/etc/ld.so.conf.d下創(chuàng)建文件mysql.conf寫入/usr/local/mysql/lib
(3) 另一種辦法就是把需要的庫copy到/usr/lib或/lib,但這不是建議的方法,特別是盡量避免copy發(fā)到/lib。但這種方法可以在編譯時免去用-L選項。



linux中動態(tài)鏈接庫的搜索順序

 (2008-12-23 10:03:20)
標簽: 

雜談

linux中動態(tài)鏈接庫的搜索順序 
//
// by kirk,2008.11.21,文中有bug請搞緊與我聯(lián)系:-)
//   
  

    在接手一個很古老的程序時,發(fā)現(xiàn)其所使用的動態(tài)庫都實在是太陳舊了,正式運行環(huán)境中部署的庫都是相適應的,而目前的開發(fā)測試環(huán)境中均是部署的新的升級版本。為了能在這些環(huán)境下開發(fā)測試,程序得能在自定義的路徑里來搜索。因此在這里復習一下linux中程序對動態(tài)鏈接庫的搜索順序,如下所述:

   1.首先查看程序文件的.dynamic 段是否包含了一個叫DT_RPATH的項(它是一個以冒號分隔的庫文件搜索目錄列表)。

   怎么設置這個選項?

   需要在編譯連接程序的時候使用-Wl,-rpath選項,假設一個程序test需要使用liblib.so庫,如下所示進行編譯連接:

    

g++ -o test -L. -llib -Wl,rpath=./ test.cpp
 

     這樣在執(zhí)行test程序時,test便會先到./即當前目錄下查找所需要的動態(tài)庫liblib.so

    2.查找是否存在環(huán)境變量 LD_LIBRARY_PATH(它是一個以冒號分隔的庫文件搜索目錄列表)。

   怎么設置這個選項?當然是設置linux下的環(huán)境變量就可以了。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
 

      當然,這種方法是對當前登錄生效的。如果想開機即有效,跟其它環(huán)境變量的設置也是一樣,需要修改一些配置文件。

    3.查看庫高速緩存文件 /etc/ld.so.conf ,它包含了庫名和路徑的一個對應列表,如果庫名存在,連接器就使用它對應的路徑,用這個查找方法能夠找到大部分的庫。

   怎么設置這個選項?可以直接編輯ld.so.conf加入需要查找的路徑,也可以在/etc/ld.so.conf.d目錄下的己有文件中加入路徑,或者在該目錄下新建一個文件(名字為*.conf即可),再把需要的路徑加入到該文件中。最后執(zhí)行l(wèi)dconfig即可生效。

    4.查找默認路徑/lib和/usr/lib,

    如果經(jīng)過了以上的步驟仍然查找失敗,則將報錯并退出相關程序。

    對于前三個步驟來說,我們均是可以進行設置調整的,其中第三個步驟中的設置需要root權限才能進行,且會影響所有的程序。當使用第一、第二中的方法進行了設置調整后,我們便可以使多種版本的庫共存在同一環(huán)境下進行測試,同名也無所謂。
 *********************************************************************

環(huán)境變量LD_LIBRARY_PATH用來指定查找共享庫時除了默認路徑之外的其他路徑。(該路徑在默認路徑之前查找)
移植程序時的經(jīng)常碰到需要使用一些特定的動態(tài)庫,而這些編譯好的動態(tài)庫放在我們自己建立的目錄里,這時我們可以設置LD_LIBRARY_PATH。
例:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/work/lib/
這樣就可以使用/work/lib/下的庫文件了,運行程序后系統(tǒng)會自動到環(huán)境變量LD_LIBRARY_PATH指定的路徑中查找其所需的庫。
系統(tǒng)查找動態(tài)庫的順序
系統(tǒng)先找LD_LIBRARY_PATH下的庫再找/lib and /usr/lib等路徑下的庫,還有/etc/ld.so.conf里指定的路徑(如果ld.so.conf存在),man ldconfig for more information
[url=http://infomax/bbs/misc.php?action=viewratings&tid=111&pid=228][/url]
使Linux啟動之后就加載LD_LIBRARY_PATH的路徑
/etc/rc.d/rc.local文件中加入export   LD_LIBRARY_PATH="xxxxx"  即可
如果在鏈接時使用了"-R"和"-L"選項,則相關動態(tài)庫的路徑將保存在ELF文件中,于
是以后的運行中不再需要設置環(huán)境變量去定位動態(tài)庫。比如,有一個
/usr/local/lib/libfoo.so,而你的bar程序需要這個libfoo.so,編譯、鏈接時最好
這樣 :gcc -Wall -pipe -O3 -o bar -R/usr/local/lib -L/usr/local/lib bar.c -lfoo
(#man gcc ,沒發(fā)現(xiàn)-R或-rpath選項,待查)


posted on 2015-08-18 17:42 Enic 閱讀(1141) 評論(0)  編輯 收藏 引用 所屬分類: linux
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区视频观看| 国产三级精品在线不卡| 亚洲综合好骚| 一本色道久久综合亚洲精品不卡 | 亚洲精品自在在线观看| 在线播放中文一区| 亚洲啪啪91| 亚洲一区日韩| 欧美在线一级va免费观看| 欧美专区日韩视频| 久久久久一区| 亚洲人成网站999久久久综合| 欧美韩日一区二区| 最新亚洲电影| 亚洲欧美网站| 免费人成网站在线观看欧美高清| 欧美成人午夜影院| 国产精品理论片| 在线国产精品一区| 午夜精品视频| 亚洲精品一区中文| 性欧美激情精品| 麻豆成人在线观看| 亚洲精选一区二区| 欧美一区二区视频97| 欧美91福利在线观看| 欧美视频在线免费| 精品99视频| 亚洲一区二区三区涩| 久久色在线播放| 一区二区三区精密机械公司| 久久riav二区三区| 欧美日韩亚洲一区在线观看| 国内精品伊人久久久久av一坑| 日韩一二在线观看| 久久久一二三| 亚洲午夜精品久久| 欧美激情中文字幕乱码免费| 国产亚洲精品综合一区91| 一本色道久久综合精品竹菊| 久久综合久久综合这里只有精品| 一本色道久久综合亚洲精品高清| 久久天堂精品| 黄色精品一二区| 性亚洲最疯狂xxxx高清| 亚洲精品一区二区三区婷婷月| 久久影视三级福利片| 国产毛片久久| 午夜性色一区二区三区免费视频| 亚洲精品一线二线三线无人区| 久久夜色精品亚洲噜噜国产mv| 国产精品久久久久久久免费软件 | 欧美电影在线观看| 欧美尤物一区| 国产日韩欧美一区在线 | 久久久噜噜噜久噜久久| 一区二区三区偷拍| 欧美日韩精品三区| 亚洲精品在线二区| 亚洲第一网站| 免费一级欧美片在线观看| 狠狠色丁香久久婷婷综合_中| 欧美中文在线观看| 亚洲一区二区三区免费观看 | 欧美日韩国产不卡在线看| 亚洲激情成人| 亚洲黄页视频免费观看| 欧美福利网址| 日韩午夜精品视频| 亚洲免费激情| 午夜精品久久久久久99热软件| 久久一日本道色综合久久| 午夜视频精品| 一区免费在线| 欧美高清不卡| 欧美日本高清视频| 在线午夜精品自拍| 在线亚洲伦理| 国产一区日韩二区欧美三区| 久久艳片www.17c.com| 久久久久www| 亚洲日本中文| 亚洲视频在线视频| 国产日韩亚洲欧美综合| 久久婷婷激情| 欧美激情第8页| 性xx色xx综合久久久xx| 久久国产色av| 日韩天堂在线视频| 午夜精品短视频| 亚洲国产精品成人综合| 麻豆精品传媒视频| 欧美国产91| 欧美在线观看视频在线| 老司机午夜精品视频在线观看| 9人人澡人人爽人人精品| 亚洲一二三四区| 亚洲国产一区二区三区在线播| 99精品国产热久久91蜜凸| 国产毛片一区二区| 亚洲精品1区2区| 国产综合久久久久久鬼色| 亚洲国产精品一区在线观看不卡| 国产精品v欧美精品v日韩| 久久综合久久综合这里只有精品| 欧美另类亚洲| 欧美xx69| 国产一区二区三区日韩欧美| 亚洲人线精品午夜| 在线日韩视频| 亚洲欧美在线高清| 99精品国产一区二区青青牛奶| 欧美亚洲一区二区在线观看| 亚洲美女区一区| 久久久久久亚洲精品不卡4k岛国| 一区二区三区黄色| 麻豆精品视频在线| 久久精品日韩| 国产精品久久久久久久久久直播| 欧美大尺度在线| 国产在线欧美日韩| 亚洲在线网站| 亚洲制服欧美中文字幕中文字幕| 六月婷婷一区| 久久久久久久久久久成人| 国产精品激情av在线播放| 91久久精品一区| 最新日韩在线| 免费看黄裸体一级大秀欧美| 久久精品91| 国产精品美女久久久久av超清| 亚洲人成亚洲人成在线观看| 亚洲国产成人av在线 | 久久久久.com| 亚洲欧美激情精品一区二区| 国产日韩欧美91| 国产精品99久久久久久有的能看| 日韩一区二区高清| 欧美成人高清| 亚洲欧洲精品一区二区| 亚洲人成网站在线观看播放| 久久久久久九九九九| 久久婷婷麻豆| 在线观看国产精品网站| 久久人人超碰| 欧美成人午夜激情| 亚洲激情成人网| 欧美连裤袜在线视频| 日韩午夜在线| 欧美一区亚洲二区| 韩国v欧美v日本v亚洲v| 老司机精品视频一区二区三区| 美日韩免费视频| 亚洲精品少妇| 欧美日韩精品二区| 亚洲午夜激情网页| 久久久久久亚洲综合影院红桃| 国产伊人精品| 欧美大片在线观看一区二区| 亚洲免费福利视频| 久久成人精品视频| 亚洲二区在线视频| 欧美精品免费在线观看| 在线一区二区日韩| 久久亚洲一区二区三区四区| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久综合给合| 99精品热视频只有精品10| 欧美亚洲午夜视频在线观看| 狠狠色丁香婷综合久久| 一区二区欧美精品| 久久久久这里只有精品| 亚洲精品少妇网址| 国产日韩精品一区二区三区在线 | 亚洲第一页在线| 亚洲一级黄色av| 精品成人国产在线观看男人呻吟| 免费欧美电影| 亚洲男人第一av网站| 欧美成人免费在线视频| 亚洲视频第一页| 在线欧美一区| 国产美女精品一区二区三区 | 欧美国产乱视频| 欧美一区二区三区在线免费观看| 亚洲电影在线看| 性感少妇一区| 日韩亚洲欧美中文三级| 国产综合色一区二区三区| 欧美精品在线观看一区二区| 欧美中在线观看| 宅男噜噜噜66国产日韩在线观看| 欧美成人tv| 久久久久久久综合| 亚洲欧美成人精品| 亚洲免费大片| 国产午夜精品全部视频在线播放| 欧美不卡一卡二卡免费版| 欧美一区二区视频97| 亚洲亚洲精品在线观看 |