1
我使用C++項目,有包括交流頭文件ira.h如下:語法錯誤:__asm__( 「some_code」 ::: 「CC」)
#ifdef __cplusplus
extern "C" {
#endif
extern inline void disable_irqs() {
__asm__ __volatile__("\torc #0x80,ccr\n":::"cc");
}
extern inline void enable_irqs() {
__asm__ __volatile__("\tandC#0x7f,ccr\n":::"cc");
}
#ifdef __cplusplus
}
#endif
當我編譯它,我錯誤如下:
/usr/local/bin/h8300-hitachi-hms-g++ -DCXX -fno-rtti -fno-exceptions -O2 -fno-builtin -fomit-frame-pointer -Wall -I/brickos/include -I/brickos/include/lnp -I. -I/brickos/boot -c rcx1.C -o rcx1.o
In file included from PowerFunctionsController.H:32,
from rcx1.H:27,
from rcx1.C:21:
/brickos/include/lnp/sys/irq.h: In function `void disable_irqs(...)':
/brickos/include/lnp/sys/irq.h:99: parse error before `::'
/brickos/include/lnp/sys/irq.h: In function `void enable_irqs(...)':
/brickos/include/lnp/sys/irq.h:104: parse error before `::'
make: *** [rcx1.o] Error 1
我該怎麼辦?
有什麼理由將格式化字符添加到你的內聯程序集中?一旦編譯完成,你的'\ t'和'\ n'字符就無關緊要了。 –
我不知道,這是由brickOS開發人員提供的... – mikezang
我不確定你的平臺上有什麼「cc」,但是如果它沒有做任何事情,你可以簡單地刪除':::「 cc「'部分,因爲您不使用可選參數。 –