奇怪的问题

[复制链接]
 楼主| ruiwei0201 发表于 2011-11-24 15:14 | 显示全部楼层 |阅读模式
本帖最后由 ruiwei0201 于 2011-11-24 15:17 编辑

我用的是Keil C51,在程序里定义一个全局变量,并赋初值为0,如下:
unsigned char xdata df_num = 0;
奇怪的是,我仿真的时候发现这个变量的值不为0,不知是何原因。能确定只有仿真点用到这个变量,其他地方都没用到。
yewuyi 发表于 2011-11-24 15:17 | 显示全部楼层
那说明这个变量被优化掉了,所以是什么值都无所谓。
 楼主| ruiwei0201 发表于 2011-11-24 15:23 | 显示全部楼层
本帖最后由 ruiwei0201 于 2011-11-24 15:33 编辑

2# yewuyi
您是说赋初值的操作被优化了?我试了一下,在变量前加volatile关键字可以解决,但还有个新问题,每次热复位后,变量值不清0.
ayb_ice 发表于 2011-11-24 15:47 | 显示全部楼层
在main函数入口处设断点,如果不为0,基本是不可能的
 楼主| ruiwei0201 发表于 2011-11-24 16:00 | 显示全部楼层
4# ayb_ice
还真不为0。。
 楼主| ruiwei0201 发表于 2011-11-24 16:10 | 显示全部楼层
结贴。剩下的问题自己研究了。。多谢各位!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:从头再来的勇气,不是每个人都有。

28

主题

149

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:从头再来的勇气,不是每个人都有。

28

主题

149

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部