#ifdef、#else、#endif的运用---极为方便的全局变量的定义和声明

在模块编程的过程中,我们经常会遇到全局变量的定义和声明,一般我们会在某个模块中定义,在别的模块中使用时在其头文件中声明即可

虽然这样可以达到目的,但是显得比较麻烦,现在我利用#ifdef、#else、#endif方便快捷的实现全局变量的定义和声明

如:我们把需要的全局的变量都放着同一个头文件中

头文件:includes.h

#ifdef   GLOBALS

#define  OS_EXT

#else

#define OS_EXT  extern

#endif

//全局变量

OS_EXT   INT32U  param_1;

OS_EXT   INT32U  param_2;

OS_EXT   INT32U  param_3;

模块1:module_1.h  (在这个模块中定义includes.h中的变量)

#define GLOBALS

#include "includes.h"

在预编译时,在includes.h中的变量在module_1.h 会变为下面这样(即定义)

INT32U  param_1;

INT32U  param_2;

INT32U  param_3;


当在模块3中使用这些变量时,只需要声明即可,如下:

模块2:module_2.h  

#include "includes.h" //只需要包含头文件即可

在预编译时,在includes.h中的变量在module_2.h 会变为下面这样(即声明):

extern INT32U  param_1;

extern INT32U  param_2;

extern INT32U  param_3;

按照上面的做法,在需要那些全局变量时只需要包含头文件即可,不需要在写代码声明,不仅减少了代码量,而且方便代码的管理。

以上是个人看法 ,欢迎大家来补充!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值