參考文獻
記錄可執行檔案
的路徑,比如我們通過shell執行命令時,shell就會在path記錄的一系列路徑下尋找命令對應的可執行檔案。
這類環境變數通常會被gcc使用,用來記錄一系列頭檔案目錄
,gcc搜尋標頭檔案時,回去這些目錄查詢:
補充說明——gcc搜尋標頭檔案的優先順序:
當前目錄(如果使用了""
包含標頭檔案);
編譯選項中-i
指定的目錄;
環境變數*_include_path
記錄的一系列頭檔案目錄;
gcc預設的頭檔案目錄,如不使用-nostdinc
選項,則這些預設的目錄總是會被搜尋,因此放在最後。上文所謂預設的頭檔案目錄在gcc手冊中被稱為standard system directories for header files
,通常是/usr/include
、/usr/local/include
、/usr/lib/gcc/x86_64-linux-gnu/4.8/include
等。
記錄一系列的庫檔案目錄
(動態/靜態),在程式的編譯鏈結期間
,gcc搜尋-l
選項指定的庫檔案時,會在該環境變數記錄的目錄中搜尋。
補充說明——gcc搜尋庫檔案的優先順序:
-l
選項指定的目錄;
環境變數library_path
記錄的一系列庫檔案目錄;
gcc預設的庫檔案目錄,通常是/lib
、/usr/lib
、/usr/local/lib
等。
編譯鏈結時指定的
動態庫搜尋路徑。具體的,通過gcc的編譯選項-wl,-rpath=dir1:dir2
可以把動態庫搜尋路徑dir1
、dir2
新增到可執行檔案中。同時,該選項也有在編譯鏈結時使鏈結器搜尋其指定目錄的作用。要注意該選項與-l
選項的區別,-l選項用於編譯鏈結時新增庫檔案的搜尋路徑;而該選項僅限於動態庫
,既可以在編譯鏈結時新增搜尋路徑,同時也能將搜尋路徑新增到可執行檔案中以便載入執行時使用;
環境變數ld_library_path
指定的動態庫搜尋路徑;
配置檔案/etc/ld.so.conf
中指定的動態庫搜尋路徑。需要說明的是,通過修改該配置檔案來新增搜尋目錄時,須在修改後執行ldconfig
命令以重新整理快取檔案/etc/ld.so.cache
,進而使修改後的配置生效;
預設的動態庫搜尋路徑/lib
;
預設的動態庫搜尋路徑/usr/lib
。
[1] 鳥哥的linux私房菜
[2] gcc手冊
[3] gcc的標頭檔案、庫檔案預設搜尋路徑
Linux環境變數總結
環境變數是作業系統執行環境的變數配置。windows的環境變數在計算機屬性選項卡裡配置,而linux環境變數比較亂,本文主要總結一下各個環境變數及其作用。1.系統全域性環境變數 etc profile 所有使用者的shell都有權使用的環境變數 2.某一使用者的環境變數 變數儲存在使用者目錄下的.b...
Linux環境變數相關總結
linux下環境變數分為全域性和區域性變數兩種。linux 下通常提供三種工具可以可以檢視環境變數 printenv env set。前兩個可以檢視全域性環境變數,最後乙個會列印包含全域性和區域性環境變數。可以在shell中使用 引用已經存在的環境變數,也可以使用echo直接列印,比如 echo p...
linux環境程式設計 環境變數 列印環境變數
在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...