C/C++不同文件夹下包含头文件的方法及#include的使用

本文介绍在C/C++项目中如何从不同文件夹层级包含头文件,通过实例展示了在同一目录、子目录及父目录中包含头文件的正确路径写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C/C++不同文件夹下包含头文件的方法及#include的使用

出处:点击打开链接

本文主要介绍了如何不同文件夹下使用预处理器指示符#include
假设我们有如下一个工程,其中包含了几个源代码文件和头文件。其中main.c是主源代码文件,里面包含main函数。

base 中包含: func3.h func3.c ,文件夹 main 和文件夹 func4
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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值