C/C++不同文件夹下包含头文件的方法及#include的使用
出处:点击打开链接
本文主要介绍了如何不同文件夹下使用预处理器指示符#include。
假设我们有如下一个工程,其中包含了几个源代码文件和头文件。其中main.c是主源代码文件,里面包含main函数。
在 main 中包含: main.c , func1.h , func1.c 和文件夹 func2 。
在 func2 中包含: func2.h 和 func2.c
在 func4 中包含: func4.h 和 func4.c
在 main 中包含头文件 func1.h : #include "func1.h"
这里 main.c 和 func1.h 在同一个文件下。
在 main 中包含头文件 func2.h : #include "func2\func2.h"
这里 main.c 和 func2.h 不在在同一个文件下,但文件夹 func2 和 main.c 同级。 "func2\func2.h" 表示 main.c 这一级 func2 文件夹下的 func2.h 头文件。
在 main 中包含头文件 func3.h : #include "..\func3.h"
这里 main.c 和 func3.h 不在在同一个文件下,但文件夹 main 和 func3.h 同级。 "..\func3.h" 表示 main.c 上一级文件( base )夹下的 func3.h 头文件。
在 main 中使用 func4.h : #include "..\func4\func4.h"
这里 main.c 和 func4.h 不在在同一个文件下,但文件夹 main 和文件夹 func4 同级。 "..\func4\func4.h" 表示 main.c 上一级文件夹( base )下的 func4 文件夹下的 func4.h 头文件。
注 1 : DOS 命令中 "cd.." 和这里的 ".." 有类似的作用。
注 2 : "#include" 可读作 " 包含当前源代码或头文件 "
".." 可读作 " 上一级文件夹 "
"" 可读作 " 下的 "
"func4" 可读作 "func4 文件夹 "
"" 可读作 " 下的 "
"func4.h" 可读作 "func4 头文件 "
连起来就是 : " 包含当前源代码或头文件上一级文件夹下的 func4 文件夹下的 func4 头文件 " 。
注 3 :
用#include加载头文件时,"./"表示当前目录,"../"表示当前目录的上一级目录。注意!这个当前目录不是工程所在的目录,而是该文件所在的目录。在include中,'/'与'\'的功能貌似一样,#include"../math/Vector3.h"与#include"..\math\Vector3.h"也貌似等价。
在字符串中,'\'是转义字符,要表示'\',在字符串中应写为'\\',因此"../A/B/C.exe"与 "..\\A\\B\\C.exe"等价。
参考链接
http://topic.youkuaiyun.com/u/20101125/22/15af528d-d417-4f6b-8fa9-565e3d980eb2.html
http://blog.youkuaiyun.com/zlwzlwzlw/archive/2009/12/07/4955560.aspx
http://hi.baidu.com/paladin1893/blog/item/8dab19510325586b843524e1.html