一 點睛
本實戰驗證雙引號包含標頭檔案時的搜尋次序。
二 實戰
1 建立4個test1.**件
[root@localhost test]# find / -name test1.h
/root/c++/ch02/2.11/test/test1.h
/root/c++/ch02/2.11/inc/test1.h
/usr/include/test1.h
/usr/local/include/test1.h
2 4個檔案的內容
[root@localhost test]# cat /root/c++/ch02/2.11/test/test1.h
#define zww 11
[root@localhost test]# cat /root/c++/ch02/2.11/inc/test1.h
#define zww 8
[root@localhost test]# cat /usr/include/test1.h
#define zww 10
[root@localhost test]# cat /usr/local/include/test1.h
#define zww 9
3 /root/c++/ch02/2.11/testtest.cpp原始檔內容
#include #include "test1.h"
int main()
4 測試
4.1 4個.**件都存在的情況下,執行下面的命令,匹配到了/root/c++/ch02/2.11/test/test1.h
[root@localhost test]# gcc test.cpp -i ../inc -o test
[root@localhost test]# ./test
hello, boy:11
4.2 刪除/root/c++/ch02/2.11/test/test1.h,匹配到/root/c++/ch02/2.11/inc/test1.h
[root@localhost test]# gcc test.cpp -i ../inc -o test
[root@localhost test]# ./test
hello, boy:8
4.3 刪除/root/c++/ch02/2.11/inc/test1.h,匹配到/usr/local/include/test1.h
[root@localhost test]# gcc test.cpp -i ../inc -o test
[root@localhost test]# ./test
hello, boy:9
4.4 刪除/usr/local/include/test1.h,匹配到/usr/include/test1.h
[root@localhost test]# gcc test.cpp -i ../inc -o test
[root@localhost test]# ./test
hello, boy:10
linux下 gcc 預設搜尋路徑
有大量的環境變數可供設定以影響 gcc 編譯程式的方式。利用這些變數的控制也可使用合適的命令列選項。一些環境變數設定在目錄名列表中。這些名字和 path 環境變數使用的格式相同。特殊字元 path separator 安裝編譯程式的時候定義 用在目錄名之間。在 unix 系統中,分隔符是冒號,而 w...
GCC編譯時指定動態庫搜尋路徑
補充檢視編譯好的動態庫或者程序的rpath的方法 動態庫的搜尋路徑的順序 參考資料 gcc中的rpath引數可以用編譯時指定動態庫的搜尋路徑,這樣執行時就不需要export ld library path了。編譯時增加引數 wl,rpath 編譯時增加引數 wl,z,origin wl,rpath ...
Gcc對頭檔案與庫檔案的搜尋路徑
一 簡介 對頭檔案與庫檔案的搜尋路徑不太清楚,編譯 執行時老碰到問題,ldd檢視程式的鏈結時,總是出現unkown鏈結.二 標頭檔案 gcc 在編譯時尋找所需要的標頭檔案 1 搜尋會從 i開始 2 然後找gcc的環境變數 c include path,cplus include path,objc ...