库博平台 库博体育 电竞资讯#ifndef/#define/#endif使用详解

#ifndef/#define/#endif使用详解

2019-10-03 19:18| 发布者: 库博平台

摘要: 头文件中的?#ifndef/#define/#endif?是为了防止该头文件被同一个c文件重复引用。“被重复引用”是指一个头文件在同一个c文件中被include了多次,这种错误常常是由于include

头文件中的?#ifndef/#define/#endif?是为了防止该头文件被同一个c文件重复引用。

“被重复引用”是指一个头文件在同一个c文件中被include了多次,这种错误常常是由于include嵌套造成的。比如:存在a1.h文件#include "a2.h"而此时b.c文件导入了#include "a1.h" 和#include "a2.h"此时就会造成a2.h重复引用。

头文件被重复引用会产生什么样的后果呢?

1、有些头文件重复引用只是增加了编译工作的工作量,不会引起太大的问题,仅仅是编译效率低一些,但是对于大工程而言编译效率低下那将是一件多么痛苦的事情。

2、有些头文件重复包含,会引起错误,比如在头文件中定义了全局变量(虽然这种方式不被推荐,但确实是C规范允许的),这种会引起重复定义。

下面给一个#ifndef/#define/#endif的格式:

#ifndef DSP2803x_ADC_H意思是"if not define DSP2803x_Adc.h" ?如果不存在DSP2803x_Adc.h

接着的语句应该#define DSP2803x_ADC_H??就引入DSP2803x_Adc.h

最后一句应该写#endif ? 否则不需要引入

#ifndef/#define/#endif使用详解

相关阅读

返回顶部