变量之间的运算为什么算不了

[复制链接]
831|12
 楼主| billfather 发表于 2016-4-5 13:48 | 显示全部楼层 |阅读模式
i的值监测不到

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
xyz549040622 发表于 2016-4-5 20:12 | 显示全部楼层
加static观看,很有可能是被优化掉了。
 楼主| billfather 发表于 2016-4-5 20:45 | 显示全部楼层
xyz549040622 发表于 2016-4-5 20:12
加static观看,很有可能是被优化掉了。

可以了,但是原因不是很理解。还有如果设成全局变量也是可以的,这又是为什么?谢谢
xyz549040622 发表于 2016-4-5 20:58 | 显示全部楼层
billfather 发表于 2016-4-5 20:45
可以了,但是原因不是很理解。还有如果设成全局变量也是可以的,这又是为什么?谢谢 ...

因为你这个i是局部变量,实际没有使用,所以程序在编译的时候优化掉了。
jimmhu 发表于 2016-4-5 22:42 | 显示全部楼层
你说的监测是怎么个问题
jimmhu 发表于 2016-4-5 22:43 | 显示全部楼层
里面使用printf i 输出看看
 楼主| billfather 发表于 2016-4-5 22:48 | 显示全部楼层
xyz549040622 发表于 2016-4-5 20:58
因为你这个i是局部变量,实际没有使用,所以程序在编译的时候优化掉了。 ...

这个局部变量在后面不是使用了吗?为什么没有使用?
 楼主| billfather 发表于 2016-4-5 22:49 | 显示全部楼层
jimmhu 发表于 2016-4-5 22:42
你说的监测是怎么个问题

监测就是右边那个watch框里的值
jimmhu 发表于 2016-4-5 22:57 | 显示全部楼层
billfather 发表于 2016-4-5 22:49
监测就是右边那个watch框里的值

谢谢楼主解答,现在vs看过了,放在变量就能观测呢。
jimmhu 发表于 2016-4-5 23:01 | 显示全部楼层
以前都是单步调试出来的。
世界心 发表于 2016-4-6 09:16 | 显示全部楼层
i没有被用到,被编译器给优化掉了,降低编译器的优化等级可能就正常了
dirtwillfly 发表于 2016-4-6 11:24 | 显示全部楼层
明显被优化掉了
玄德 发表于 2016-4-6 11:37 | 显示全部楼层

如果使用printf,编译器就没有理由优化掉,
所以一定能看到。


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

本版积分规则

7

主题

22

帖子

0

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