OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1517|回复: 3

全局变量初始化后不调用,仿真后值不为初始化的值

[复制链接]

9

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-3-11
在线时间
71 小时
发表于 2018-1-17 12:20:19 | 显示全部楼层 |阅读模式
1金钱
问一下各位大佬一个奇怪的现象:

       比如我在main.c文件里面声明并且初始化了一个全局变量,类似uint8_t testflg = 0x01; uint8 testbuffer[] = {0x01,0x02,0x03};
要是有函数用到这些变量,仿真时testflg 和testbuffer的值都是正常的,但是我把调用这两个全局变量的函数注释掉之后,仿真发现testflg的值变成了0x0C,testbuffer里面成员的值也变成了其他的值,感觉很奇怪,为什么值会变呢,虽然我没调用,但是初始化的时候应该也有初值吧,谁知道是什么原因呢,谢谢哈。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1665
金钱
1665
注册时间
2016-4-29
在线时间
266 小时
发表于 2018-1-17 13:06:08 | 显示全部楼层
回复

使用道具 举报

9

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
268
金钱
268
注册时间
2013-3-11
在线时间
71 小时
 楼主| 发表于 2018-1-17 13:28:39 | 显示全部楼层
d1z1y2 发表于 2018-1-17 13:06
没有使用的变量被优化了

我的优化等级已经设置成0了,这样也会优化啊?
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7458
金钱
7458
注册时间
2015-1-15
在线时间
1367 小时
发表于 2018-1-17 13:35:32 | 显示全部楼层
加个volatile试试
一分耕耘一分收获。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-3-29 06:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表