#include 指令用于将一个源文件中的代码包含到另一个源文件中。其格式有两种形式:
#include “filename” 和 #include <filename>。
- #include “filename”
使用双引号包含文件名的方式,表示在当前源文件所在目录中查找 filename 文件。
如果当前源文件所在目录中没有 filename 文件,则编译器会在编译器默认的搜索目录中查找 filename 文件。
如果在编译器默认的搜索目录中找不到 filename 文件,则编译器报错。
注意
这种方式在当前源文件所在目录中查找 filename 文件时,并不会去该目录的子目录中查询 。
所以要包含子目录中的 filename 文件需要使用绝对路径或相对路径。 - #include <filename>
使用尖括号包含文件名的方式,表示在编译器默认的搜索目录中查找该文件。
这种形式通常用于包含系统库头文件或其他公共头文件。
举例说明
代码结构如下:
|–src
| |–help.h
| |–utils
| |–utils.h
#include "help.h"
#include "utils.h"
int main(int args, char* argv[])
{
printf("Hello World!\n");
return 0;
}
// 运行结果
"utils.h": No such file or directory
#include "help.h"
#include "utils/utils.h"
int main(int args, char* argv[])
{
printf("Hello World!\n");
return 0;
}
// 运行结果
Hello World!