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""的區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM