代碼優化等級帶來的問題

今天在使用mdk編寫stm32f103的程序的時候,寫了幾個嵌套的if判斷,但是在運行程序的時候出現了一些問題,用仿真器進行仿真的時候有幾條指令不能運行,總是調過這些指令執行別的。通過自己的查找,最終找到了帶來這種錯誤的來源,   對於代碼的優化級別太高了

在設置中選擇上圖中的優化級別,原先設置的優化級別是-O3,一些代碼在進行優化的時候被精簡掉了,通過修改這個等級爲-O0,就可以執行你編寫的每條代碼了,這個在進行仿真調試的時候最好是使用低優先級 ,而最終下載程序到單片機中運行的時候可以選擇高優先級,這樣既能保證程序運行沒有錯誤,又能最終實現一個高效的代碼運行~

其中遇到的問題,在此小記一下^.^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章