首先感谢大家对上一个视频的点评回复,非常有意义的讨论,这次AC6的表现更新惊呆,不开优化都可以乱跳。
【实验目的】
同样的程序代码,目的是测试C环境的调试现象。
【实验版本】
IAR版本 :9.3x
MDK版本:5.3x, 含AC5和AC6
Embedded Studio:使用GCC,版本V7.1X
【视频展示】
https://www.bilibili.com/video/BV18h4y1v7yR
【测试说明】
测试了IAR,所有优化等级均正常:
Embedded Studio开最高速度优化Level3 for speed,测试正常:
MDK AC5测试了O1和O3,调试均不正常,进入return还继续执行。
MDK AC6不开优化,设置优先级为O0,调试乱跳,这有点说不过去了。这不能怪优化问题了吧,用的AC6.18。
开成O1优化,甚至还可以倒序执行,动图效果: