今天在調試程序的時候,發現函數返回值賦值給變量時,變量值總是顯示"not in scope",無法看到變量被賦的值。
出現這種情況的原因是這個局部變量沒被分配到內存,或者變量被編譯器優化了。
編譯器優化級別高的時候,編譯器為了優化,可能並沒有按照我們想要執行的代碼匯編。
解決方法:降低Keil的編譯優化選項,如下圖所示,優化等級改為0(默認為3)。
