赞
踩
在工程开发中总会遇到不同的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。
总结:以上述方法可实现在大大减少工作量的同时避免变量多重定义,值得借鉴。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。