include 標頭檔案的搜尋路徑

2021-06-01 20:03:49 字數 1279 閱讀 2617

#include -- 標頭檔案的搜尋路徑

2023年01月29日 星期一 18:57

#include 指令的兩種使用形式

(1) 尖括號告訴編譯器在乙個或者多個標準系統目錄中找到檔案

/usr/include

/usr/local/include

;(2)雙引號意味著首先搜尋本地目錄(如果在本地目錄找不到,再到標準系統目錄中找)但是具體搜尋哪個目錄依賴於編譯器。有些編譯器搜尋源**檔案所在目錄,有些編譯器搜尋當前工作目錄,有些搜尋工程檔案所在目錄。

gcc的本地目錄,預設情況下就是原始碼(.c檔案)所在目錄,當然也可以用-i指定本地目錄(可以用多個-i指定多個本地目錄)

gcc預設就會搜尋/usr/include/usr/local/include的,你還可以設定環境變數cflags=-i /somewhere$cflags來增加搜尋路徑

# vim source/test.c 

----------------------------------

1 #include

2 #include "test.h"

//有了-i include/

,這裡就不需要關心標頭檔案的所在路徑了

3 4 int main()

5 # vim include/test.h 

----------------------------------

1 int g_int = 100;

# gcc source/test.c-i include/

# vim 

stdio.h

----------------------------------

1 #define printf

# vim test.c

----------------------------------

1 #include"stdio.h"/* 用本地的標頭檔案 */

2 3 int main()

4 # gcc test.c

# ls

a.out  stdio.h  test.c

# ./a.out   // 沒有任何輸出#

include 搜尋路徑

c中可以通過 include 和 include stidio.h 區別是 include 直接到系統指定目錄去查詢標頭檔案。include stidio.h 會先到當前目錄查詢標頭檔案,如果沒找到在到系統指定目錄查詢。gcc編譯時查詢標頭檔案,按照以下路徑順序查詢 1.gcc編譯時,可以設定 i選...

KEIL 標頭檔案路徑和 include區別

keil 標頭檔案路徑可以直接寫在引號內,預設的話,標頭檔案必須在工程檔案同乙個目錄下,比如 include 此時ds0832.h 檔案必須與工程檔案同一目錄 include d myfile ds0832.h 此時 ds0832.h檔案在d myfile目錄下。還可以寫作 include ds08...

linux gcc 標頭檔案搜尋路徑

2011 02 15 13 40 423人閱讀收藏 舉報一 標頭檔案 gcc 在編譯時尋找所需要的標頭檔案 搜尋會從 i開始 然後找gcc的環境變數 c include path,cplus include path,objc include path 再找內定目錄 usr include usr ...