首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

举例来说——防止全局变量、头文件重复包含

2012-09-15 
举例——防止全局变量、头文件重复包含C语言中经常会出现文件重复包含而导致全局变量重复定义,下面以一个例子

举例——防止全局变量、头文件重复包含

C语言中经常会出现文件重复包含而导致全局变量重复定义,下面以一个例子说明

-----Makefile:

#define ERRHANDLE_GLOBALS/* 这条语句必须位于 #include "errhandle.h" 的前面 */
这种方法的原理很简单:

定义过 ERRHANDLE_GLOBALS 的文件: ERRHANDLE_EXT int errcode; == int errcode; 

未定义过 ERRHANDLE_GLOBALS 的文件: ERRHANDLE_EXT int errcode; == extern int errcode; 

这样,就只有一份 int errcode; 的声明在 errhandle.c 中,其它文件均为 extern int errcode; 

其实,预处理之后跟第一种方法是一样的















热点排行