我必须生成不断调用不同 C 函数的冗余 asm 代码
我正在尝试做类似的事情
#define CODE_GEN(func) push a \
call func
pop a
调用类似的东西
CODE_GEN(foo)
会产生
bash-4.1$ gcc -E mk.S
# 1 "mk.S"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "mk.S"
# 1 "asm_gen.h" 1
# 2 "mk.S" 2
# 13 "mk.S"
pusha call foo popa iret
但这在编译中失败
bash-4.1$ gcc -m32 mk.S
mk.S: Assembler messages:
mk.S:13: Error: junk `foo popa iret' after expression
mk.S:13: Error: suffix or operands invalid for `pusha'
有没有办法分隔在 .S 文件中单行编写的 asm 代码?