最新有同学反应自已的程序在KEIL MDK仿真时按单步运行(F10),程序运行顺序不是按自已想要的顺序来操作的,其实这个原因多半是因为程序的编译优化等级设置较高导致:
优化等级高可以减小代码空间,很多工程师会开启该选项,但也有可能会出现上面的问题,!
解决办法:只需在工程设置的C/C++先项中将优化等级选为-O0即可,但可能会加大最终代码大小。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TRE9ENFRUTy0EVk1GbHJmb1cVWvB3MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0cDO4IDNwYTM2IjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
最新有同学反应自已的程序在KEIL MDK仿真时按单步运行(F10),程序运行顺序不是按自已想要的顺序来操作的,其实这个原因多半是因为程序的编译优化等级设置较高导致:
优化等级高可以减小代码空间,很多工程师会开启该选项,但也有可能会出现上面的问题,!
解决办法:只需在工程设置的C/C++先项中将优化等级选为-O0即可,但可能会加大最终代码大小。