#include<>
1.在编译器设置的include路径内搜索;
2.如果是在命令行中编译,则在系统的INCLUDE环境变量内搜索。
#include""
1.在包含当前include指令的文件所在的文件夹内搜索;
2.如果上一步找不到,则在之前已经使用include指令打开过的文件所在的文件夹内搜索,如果已经有多个被include的文件,则按照它们被打开的相反顺序去搜索;
3.如果上一步找不到,则在编译器设置的include路径内搜索;
4.如果上一步找不到,则在系统的include环境变量内搜索。
总结
1、使用#include<>
程序会直接到标准函数库中找文件
2、使用#include""
程序会会先从当前目录中找文件,如果找不到会再到标准函数库中找文件。所以,一般情况下我们引用标准函数库中的头文件时,用#include<>能有更高的效率。
3、另外,要注意的一点就是,如果我们自己写的头文件,而不是标准库函数中的,那么引用这个头文件要使用#include""
,而不能使用#include<>
,因为我们自己写的头文件并不在编译器设置的路径内,使用#include<>
会提示无法找到。