【发布时间】:2011-07-13 22:58:10
【问题描述】:
我有这样的情况
#define PRE 0xF1
#define SR0 0B0000
#define SR1 0B0001
#define SR2 0B0010
#define SR3 0B0011
#define VIOTA(A0) asm(".byte PRE, A0")
int main()
{
VIOTA(SR1);
return 0;
}
我有一个扩展的顶级宏,但是扩展包含更多宏。这些没有被扩展并导致一些问题。
我希望的行为是结束扩展是
asm(".byte 0xF1, 0B0000")
这里的内部宏已被扩展。我真的不确定我做错了什么。有什么建议吗?
【问题讨论】:
-
补充一点信息。是的,引号是这里的问题,但重要的是两个现有的双引号最终出现在最后的扩展行中。也许有一些方法可以逃避引号?