关于 keil c51 头文件中变量名声明问题

如果在一个keil项目文件中有很多组件模块,如 :a.c b.c c.c 等多个c文件,都要用到公用的全局变量,按照通常的做法会定义一个头文件比如global.h 文件,在该头文件中定义一个全局变量var,正确的定义顺序应该是:

global.h 中声明定义 extern int var ;

a.c ,b.c,c.c 选取任意一个.c文件中定义int var。

注意,a.c  b.c c.c 中都要包含头文件global.h。


否则会出现 有重复定义的 的错误。


可能不会报错,但是可以从data编译出显示的大小,判断是否有重复定义,这样导致的后果是本来共享的数据没有到达共享的目的 ,再者浪费单片机宝贵的片上资源。

这里定义一个大数组时data 大小会有明显变化。


参考文档:http://www.keil.com/forum/17712/ 



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值