Keil C 全局變量和局部變量的直接對話誘發的bugger

Keil C UV3.0 環境下,有AB兩個函數。

A函數中有如下代碼:

定義局部變量i;

  if(局部變量i > 全局變量K)

{

     。。。。。。

}

 

B函數中有如下代碼:

定義局部變量i;

if(局部變量i > 全局變量K)

{

   。。。。。。

}

 

運行時發現,A函數可以正確執行,而B函數不可以。沒有辦法,只得將B函數改爲兩個全局變量比較才能正確執行。

現在分析,可能是keil C的buger。客觀條件,該代碼定義了比較多的全局變量,也許是誘發了Keil C的bugger。希望代碼比較大的時候(這次出問題的代碼容量8K),各位同仁小心處理全局變量與局部變量的“直接對話”。另外選擇了8級代碼優化。

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