我有這個Ç宏:粘貼恆成彙編代碼塊
#define syscall(number) \
({ \
asm volatile (\
".set noreorder\n" \
"nop\n" \
"syscall "#number"\n" \
);\
})
它的偉大工程,當我與整數叫它:
syscall(5);
然而,當我做這樣的事情:
#define SYSCALL_PUTC 5
syscall(SYSCALL_PUTC);
我收到此錯誤:
Error: Instruction syscall requires absolute expression
我該如何解決這個問題?我不想讓我的代碼亂七八糟地用魔法數字。
很好用。謝謝ouah! – 2012-01-08 17:33:21
@MatějZábský不客氣! – ouah 2012-01-08 17:35:15