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