1
我想制作一个C宏(TRAMPOLINE_BLOCK
),它采用一个预定义的宏常量(TRAMPOLINE_LENGTH
),并写入很多asm volatile
nop
指令。例如:如何复制C宏?
#ifdef __x86_64__
#define TRAMPOLINE_LENGTH 41
#define TRAMPOLINE_BLOCK \
({ \
asm volatile (\
"nop\n" \
...
);\
})
#else
#define TRAMPOLINE_LENGTH ...
#define TRAMPOLINE_BLOCK ...
#endif
在这种情况下,TRAMPOLINE_BLOCK
应该有41个nop
指令。我一直在玩弄宏观争论等,但还没有得到它的工作。我将如何去写这样一个宏?