关于C++头文件的路径
使用尖括号< >
,编译器会到系统路径下查找头文件;而使用双引号" "
,编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。也就是说,使用双引号比使用尖括号多了一个查找路径,它的功能更为强大,我们完全可以使用双引号来包含标准头文件,例如:
#include "stdio.h"
#include "stdlib.h"
以 Windows 为例,在 D 盘下创建一个自定义的文件夹,名字为abc
,它里面有一个头文件叫做xyz.h
,那么在程序开头使用#include "D:\\abc\xyz.h"
就能够引入该头文件。
为了增强代码的可移植性,引入头文件时请尽量使用正斜杠/
。
#include "./xyz.h"
语句就可以引入 xyz.h,其中./
表示当前目录(Windows下)
语句#include "./../xyz.h"
,其中../
表示上级目录。./../xyz.h
的意思是,在当前目录的上级目录中查找 xyz.h 文件。
需要注意的是,我们可以将./
省略,此时默认从当前目录开始查找。(Linux下,需要使用 #include "./../module.h" ,开头的 ./ 不能省略)
建议大家使用相对路径,这样即使后来改变了工程所在目录,也无需修改包含语句,因为源文件的相对位置没有改变。