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