extern巧用

序言

在工程开发中总会遇到不同的C文件需要调用同一个变量,对于这个问题当经验较少时可能会老老实实一个一个extern来敲,这将会带来巨大的工作量,而且在构造过程中会发现及其无聊,感觉自己像是一个没有感情的机器,一直在重复类似的工作。

正文

针对此种应用场景有这么一个个人认为比较灵便的方法:
step 1
对需要extern定义的头文件开头这样写:
#if defined(A_GLOBAL)
#define A_EXE
#elseif
#define A_EXE extern
A_EXE int a;
A_EXE unsigned int b;
#endif
注:此处使用A_EXE来代替extern.
step2:
对于头文件命名对应的C文件,则开头加这么一句话:
#define A_GLOBAL
#include “上述头文件.h”

注:此处先定义A_GLOBAL,则#include上述头文件后,会使得此C文件中与A_EXE相关的变量不包含extern.
setp3:
对于其他C文件,则:
#include “上述头文件”

注:此C文件中与A_EXE相关的变量包含extern。
总结:以上述方法可实现在大大减少工作量的同时避免变量多重定义,值得借鉴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值