GCC提示之環境變數

來源:互聯網
上載者:User

 

1)編譯時間標頭檔搜尋路徑

①C_INCLUDE_PATH 

編譯C程式時使用該環境變數。該環境變數指定一個或多個目錄名列表,尋找標頭檔,就好像在命令列中指定-isystem選項一樣。會首先尋找-isystem指定的所有目錄。 

 

②CPLUS_INCLUDE_PATH 

編譯C++程式時使用該環境變數。該環境變數指定一個或多個目錄名列表,尋找標頭檔,就好像在命令列中指定-isystem選項一樣。會首先尋找-isystem指定的所有目錄。 

 

③OBJC_INCLUDE_PATH 

在編譯Objective-C程式的時候使用該環境變數。一個或多個目錄名的列表由環境變數指定,用來尋找標頭檔,就好像在命令列中指定-isystem選項一樣。所有由-isystem選項指定的目錄會首先被尋找。

 

④CPATH 

編譯C,C++和Objective-C程式時使用該環境變數。該環境變數指定一個或多個目錄名列表,尋找標頭檔,就好像在命令列中指定-l選項一樣。會首先尋找-l指定的所有目錄。

 

2)編譯時間庫檔案搜尋路徑

①LIBRARY_PATH 

該環境變數可設定為一個或多個目錄名字列表,串連程式會搜尋該目錄,以尋找特殊串連程式檔案,和由-l (字母l)命令列選項指定名字的庫。由-L命令列選項指定的目錄在環境變數的前面,首先被尋找。

 

②COMPILER_PATH 

該環境變數指定一個或多個目錄名列表,如果沒有指定GCC_EXEC_PREFIX定位子程式,編譯器會在此尋找它的子程式。 

 

③GCC_EXEC_PREFIX 

如果定義了該環境變數,它會作為編譯器執行的所有子程式名字的首碼。例如,如果將變數設定為 testver,彙編器首先會在名字testveras下尋找,而不是尋找as。如果在此沒有找到,編譯器會繼續根據它的普通名進行尋找。可在首碼名中使用斜線指出路徑名。 

預設設定為prefix /lib/gcc-lib/,這裡的prefix是安裝編譯器時configure指令碼指定的名字。該首碼也用於定位標準串連程式檔案,包含進來作為可執行程式的一部分。如果使用-B命令列選項,會重寫該設定。

 

3)編譯時間其他環境

①LANG 

該環境變數用於指出編譯器使用的字元集,可建立寬字元文字,串文字和注釋。 定義LANG為C-JIS,指出預先處理程式將多位元組字元按照JIS(日語工業標準)字元進行解釋。C-SJIS 可用來指出Shift-JIS字元而C-EUCJP指出日文EUC。如果沒有定義LANG,或定義為不可識別,函數mblen()被用來確定字元寬度,而mbtowc()用來將多位元組序列轉換為寬字元。

 

②TMPDIR 

這個變數包含了供編譯器存放臨時工作檔案的目錄的路徑名。這些檔案通常在編譯過程結束時被刪除。這種檔案的一個例子就是由預先處理程式輸出並輸入給編譯器的檔案。

 

4)執行階段程式庫搜尋路徑

①LD_LIBRARY_PATH ----非常有用!!

該環境變數不會影響編譯器,但程式啟動並執行時候會有影響。變數指定一個目錄列表,程式會尋找該列表定位共用庫。只有當未在編譯器的目錄中找到共用庫的時候,執行程式必須設定該變數。 

②LD_RUN_PATH 

該環境變數不會影響編譯器,但程式啟動並執行時候會有影響。該變數在運行時指出檔案的名字,啟動並執行程式可由此得到它的符號名字和地址。地址不會重新載入,因而可能符號引用其他檔案中的絕對位址。這和ld工具使用-R選項完全一樣。 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.