我有这个Ç宏:粘贴恒成汇编代码块
#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