1. 程式人生 > 實用技巧 >C/C++ #include<> 和 #include""的區別

C/C++ #include<> 和 #include""的區別

我們都聽過這樣的說法:

使用#include<> 程式會直接到標準函式庫中找檔案
使用#include"" 程式會會先從當前目錄中找檔案,如果找不到會再到標準函式庫中找檔案

所以,一般情況下我們引用標準函式庫中的標頭檔案時,用#include<>能有更高的效率,但是其實它的查詢順序非常嚴格:

1.#include<>

1.在編譯器設定的include路徑內搜尋;
2.如果是在命令列中編譯,則在系統的INCLUDE環境變數內搜尋。

2 #include”“
1.在包含當前include指令的檔案所在的資料夾內搜尋;
2.如果上一步找不到,則在之前已經使用include指令開啟過的檔案所在的資料夾內搜尋,如果已經有多個被include的檔案,則按照它們被開啟的相反順序去搜索;
3.如果上一步找不到,則在編譯器設定的include路徑內搜尋;
4.如果上一步找不到,則在系統的INCLUDE環境變數內搜尋。

所以,要注意的一點就是,如果我們自己寫的標頭檔案,而不是標準庫函式中的,那麼引用這個標頭檔案要使用#include"",而不能使用#include<>,因為我們自己寫的標頭檔案並不在編譯器設定的路徑內,使用#include<>會提示無法找到。

參考連結:

C/C++ #include<> 和 #include""的區別