-1
我有嵌入式8051內核(在cypress FX2中)的遺留代碼,使用與其他版本的SDCC編譯。然而,目前的SDCC不知道_naked
預選賽:`_naked`:嘗試使用SDCC編譯遺留8051(FX2)代碼,較新版本絆倒
delay.c:27: syntax error: token -> '_naked' ; column 21
通過
static void
udelay1 (void) _naked
{
_asm ; lcall that got us here took 4 bus cycles
ret ; 4 bus cycles
_endasm;
}
和其他事故引起的。
因爲_naked
實際上應該是告訴C編譯器「不知道,你忽略了你是一個C編譯器,並明白你需要保存幀上下文」的事實,我不覺得我應該只是#define
它。
有沒有解決這個問題的方法?我應該繼續並在使用_naked
函數的地方手動內聯彙編程序嗎?我覺得我會在那裏背叛編譯器CALL
,這會改變時間。
在發帖和回答這個問題一年多後,downvote是民主的非常好,但我仍然想知道我可以做得更好,所以我很樂意閱讀評論。 –