使用尖括号< >,编译器会到系统路径下查找头文件;而使用双引号" ",编译器首先在当前目录下查找头文件,如果没有找到,再到系统路径下查找。也就是说,使用双引号比使用尖括号多了一个查找路径,它的功能更为强大,我们完全可以使用双引号来包含标准头文件,例如:
#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" ,开头的 ./ 不能省略)
非常建议大家使用相对路径,这样即使后来改变了工程所在目录,也无需修改包含语句,因为源文件的相对位置没有改变。
本文详细解析了C++中使用尖括号<>和双引号包含头文件的区别,介绍了如何利用相对路径提高代码移植性,并提供了在不同操作系统下正确指定头文件路径的方法。
5596

被折叠的 条评论
为什么被折叠?



