发布于 2016-12-07 05:01:29
考虑以下代码:
#ifdef foo
foo();
#endif
如果您希望像上面这样的片段调用函数foo
,则需要定义foo
。但是,如果你只是
#define foo
然后函数foo
名称将被替换为空令牌,第一个片段将被预处理为();
。但是,如果你
#define foo foo
然后,第一个片段将像它应该的那样对foo();
进行预处理。
发布于 2016-12-07 04:59:24
确保#if defined(__arch_swahb32)
通过但不替换的技巧。(通常用于实现宏类型函数)
https://stackoverflow.com/questions/41018115
复制相似问题