为什么在头文件里面用条件编译呢?程序如下

有这么一段程序,#ifndefLCDHEARD#defineLCDHEARD#include<forlcd.h>//液晶驱动程序#include<changdata.h>... 有这么一段程序,
#ifndef LCDHEARD
#define LCDHEARD
#include <forlcd.h>// 液晶驱动程序
#include <changdata.h>//宏定义文件
#endif

这段语句是在头文件里面使用的,请问问什么要这么用呢,直接
#include <forlcd.h>// 液晶驱动程序
#include <changdata.h>//宏定义文件
不就行了吗?求原因!谢谢
展开
 我来答
dongyue2008
推荐于2016-04-10 · TA获得超过3604个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:603万
展开全部
#define指示接受一个名字并定义该名字为预处理器变量。#ifndef指示检测指定的预处理变量是否未定义。如果预处理器变量未定义,那么跟在其后的所有指示都被处理,直到出现#endif。可以用这些设施来预防多次包含同一头文件。你的例子是测试LCDHEARD宏是否被定义,如果未定义就定义那个宏,同时#include <forlcd.h>// 液晶驱动程序
#include <changdata.h>//宏定义文件
为什么要避免头文件被重复包含?因为#include是直接将头文件的内容取代#include所在行,所以如果头文件重复包含的话,代码量将相当庞大,编译效率下降。
浙江启扬智能科技有限公司
2023-08-23 广告
在ARM开发板上完成开发后,要将其变成成品,需要进行以下步骤:1. 硬件集成:将开发板上的各种硬件组件集成到一个完整的硬件系统中,以便能够进行后续的制造和测试。2. 软件编译:将开发板上运行的软件代码编译成可执行文件,并在最终硬件系统上测试... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
百度网友75ddf79
2010-12-14 · TA获得超过141个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:139万
展开全部
防止重复编译。比如,第一次使用该头文件后,LCDHEARD被定义过,以后再使用该头文件,就不会重新编译了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anhuishengshuc
2010-12-14 · TA获得超过217个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:319万
展开全部
在构建比较大的程序时,头文件中还会放入其他的定义和声明。利用预处理器指令#ifndef,#define和#endif等构成预处理器封套,从而避免头文件在一个程序中被多次包含。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wlzxlc
2010-12-14 · 超过37用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:74.9万
展开全部
防止多重包含该头文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式