C语言中include包含文件的用法详解

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

平常用的比较多的就是插入头文件,include包含头文件的方式有如下几种:
1、#include<xxx.h>
这种方式下,预处理器通常只会去系统指定目录下查找。如果需要包含标准库头文件或者实现版本所提供的头文件,可以使用这种方式。

2、#include"xxx.h"
这种方式下,预处理器通常优先在当前目录下寻找,即当前工程下的其他源文件的目录。如果在当前目录下没有找到,那么预处理器也会搜索系统的 include 路径。如果需要包含针对程序所开发的源文件,则可用这种方式。

3、#include"xx\xx.h"
文件名中包含了路径,则预处理器只会到该目录下寻找。例如:
.\SRC\ 这样写表示,当前目录中的SRC文件夹;
…\SRC\ 这样写表示,当前目录的上一层目录中SRC文件夹;
这种相对路径的写法,编译器会自动帮我们转化为绝对路径。
当前目录与上一级目录,都是针对工程文件本身而言的,例如,我们用KeilV5创建一个工程,将生成的工程文件置于project文件夹中,其它头文件置于与project同级的src和inc文件夹中,这时若想包含inc文件夹中的test.h文件,那么应该写成#include"…\inc\test.h";如果生成的工程文件与inc文件夹同级,那么写成#include".\inc\test.h";如果生成的工程文件在project文件夹中的pro文件夹中,那应该写成#include"…\inc\test.h"。
这种写法相比于第2种的优点是整个工程中,在不同文件夹中包含了同名文件,可以准确指定,以免引用错误版本的文件。缺点就是写起来麻烦一些。

#include 命令可以嵌套使用;也就是说,通过 #include 命令插入的源文件本身也可以包含另一个 #include 命令。预处理器最多允许 15 层的嵌套包含。

因为头文件有时候会包含另一个头文件,很容易发生相同的一个文件被多次包含的情况。为避免这种情况的发生,可以采用条件式编译的命令,如下:

#ifndef XXX_H_
#define XXX_H_
/* ...实际的头文件XXX.h的内容写在这里... */
#endif
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值