最新有同學反應自已的程式在KEIL MDK仿真時按單步運作(F10),程式運作順序不是按自已想要的順序來操作的,其實這個原因多半是因為程式的編譯優化等級設定較高導緻:
優化等級高可以減小代碼空間,很多工程師會開啟該選項,但也有可能會出現上面的問題,!
解決辦法:隻需在工程設定的C/C++先項中将優化等級選為-O0即可,但可能會加大最終代碼大小。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TRE9ENFRUTy0EVk1GbHJmb1cVWvB3MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0cDO4IDNwYTM2IjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
最新有同學反應自已的程式在KEIL MDK仿真時按單步運作(F10),程式運作順序不是按自已想要的順序來操作的,其實這個原因多半是因為程式的編譯優化等級設定較高導緻:
優化等級高可以減小代碼空間,很多工程師會開啟該選項,但也有可能會出現上面的問題,!
解決辦法:隻需在工程設定的C/C++先項中将優化等級選為-O0即可,但可能會加大最終代碼大小。