KEIL是一個神的編譯器。舉一二例來說明:
1、 編譯器出現(xiàn)WARNING"expression with possibly no effect",是提示你當(dāng)前語在正做無用功,如在預(yù)處理中如下語句:
#defineS2TB8(a)((S2CON&0xf7)|(a)<<3)
解決方法如下,將語句修改為:
#defineS2TB8(a)S2CON=((S2CON&0xf7)|(a)<<3)
然后,編譯就順利通過了。OMG,如果KEIL不提醒我,我都不知道還沒把運算之后的值保存下來呢,KEIL這個“德國戰(zhàn)車”名不虛傳。
2、編譯器出現(xiàn)"error C187: not an lvalue”,發(fā)現(xiàn)在預(yù)處理中有如下語句:
#definef(a)((a)++)
在子函數(shù)中有如下語句:
inta=f(1);
解決過程如下,將語句修改為:
#definef(a)((a)+1)
然后,編譯順利通過。