小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

GCC編譯器的搜尋路徑

 songtime 2010-02-07
一、頭文件
  
gcc 在編譯時(shí)尋找所需要的頭文件 :
  
※搜尋會(huì)從-I開(kāi)始
  
※然后找gcc的環(huán)境變量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH
  
※再找內(nèi)定目錄
/usr/include 
/usr/local/include
/usr/lib/gcc-lib/i386-linux/2.95.2/include
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3
/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include
  
庫(kù)文件但是如果裝gcc的時(shí)候,是有給定的prefix的話,那么就是
/usr/include 
prefix/include
prefix/xxx-xxx-xxx-gnulibc/include
prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include
  
二、庫(kù)文件
編譯的時(shí)候:
※gcc會(huì)去找-L
※再找gcc的環(huán)境變量LIBRARY_PATH
  
※再找內(nèi)定目錄 /lib:/usr/lib: /usr/local/lib:這是當(dāng)初compile gcc時(shí)寫(xiě)在程序內(nèi)的

三、運(yùn)行時(shí)動(dòng)態(tài)庫(kù)的搜索路徑

1、在配置文件/etc/ld.so.conf中指定動(dòng)態(tài)庫(kù)搜索路徑

2、通過(guò)環(huán)境變量LD_LIBRARY_PATH指定動(dòng)態(tài)庫(kù)搜索路徑(當(dāng)通過(guò)該環(huán)境變量指定多個(gè)動(dòng)態(tài)庫(kù)搜索路徑時(shí),路徑之間用冒號(hào)":"分隔)
  
3、在編譯目標(biāo)代碼時(shí)指定該程序的動(dòng)態(tài)庫(kù)搜索路徑(還可以在編譯目標(biāo)代碼時(shí)指定程序的動(dòng)態(tài)庫(kù)搜索路徑。
  
這是通過(guò)gcc 的參數(shù)"-Wl,-rpath,"指定。當(dāng)指定多個(gè)動(dòng)態(tài)庫(kù)搜索路徑時(shí),路徑之間用冒號(hào)":"分隔
4、默認(rèn)的動(dòng)態(tài)庫(kù)搜索路徑/lib    /usr/lib
可以通過(guò)執(zhí)行可執(zhí)行文件pos得到的結(jié)果不同獲知其搜索到了哪個(gè)動(dòng)態(tài)庫(kù),從而獲得第1個(gè)動(dòng)態(tài)庫(kù)搜索順序,然后刪除該動(dòng)態(tài)庫(kù),
  
再執(zhí)行程序pos,獲得第2個(gè)動(dòng)態(tài)庫(kù)搜索路徑,再刪除第2個(gè)被搜索到的動(dòng)態(tài)庫(kù),
  
如此往復(fù),將可得到Linux搜索動(dòng)態(tài)庫(kù)的先后順序。
程序pos執(zhí)行的輸出結(jié)果和搜索到的動(dòng)態(tài)庫(kù)的對(duì)應(yīng)關(guān)系如表1所示
  
程序pos輸出結(jié)果 使用的動(dòng)態(tài)庫(kù) 對(duì)應(yīng)的動(dòng)態(tài)庫(kù)搜索路徑指定方式
./ ./libpos.so 編譯目標(biāo)代碼時(shí)指定的動(dòng)態(tài)庫(kù)搜索路徑
  
/root/test/env/lib /root/test/env/lib/libpos.so 環(huán)境變量LD_LIBRARY_PATH指定的動(dòng)態(tài)庫(kù)搜索路徑
  
/root/test/conf/lib /root/test/conf/lib/libpos.so 配置文件/etc/ld.so.conf中指定的動(dòng)態(tài)庫(kù)搜索路徑
  
/lib /lib/libpos.so 默認(rèn)的動(dòng)態(tài)庫(kù)搜索路徑/lib
  
/usr/lib /usr/lib/libpos.so 默認(rèn)的動(dòng)態(tài)庫(kù)搜索路徑/usr/lib
  
動(dòng)態(tài)庫(kù)的搜索路徑搜索的先后順序是:
  
1.編譯目標(biāo)代碼時(shí)指定的動(dòng)態(tài)庫(kù)搜索路徑;
2.環(huán)境變量LD_LIBRARY_PATH指定的動(dòng)態(tài)庫(kù)搜索路徑; 
3.配置文件/etc/ld.so.conf中指定的動(dòng)態(tài)庫(kù)搜索路徑;
4.默認(rèn)的動(dòng)態(tài)庫(kù)搜索路徑/lib    /usr/lib。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多