在宏取消之前展开宏

时间:2016-10-31 13:30:49

标签: c macros c-preprocessor

我有一个宏,我在标题的开头定义,然后在结尾处定义。然而,该宏(我称之为foo)取决于另一个宏(我称之为test)。我想知道我是否能记住foo扩展的价值。我的第一个想法是以下,显然不起作用:

#define foo test
#define bar foo
#undef foo

...
bar
...

有没有办法让{I}}扩展到bar

1 个答案:

答案 0 :(得分:1)

不,你不能。

只有在将宏插入编程令牌流时才会扩展宏。它们未在#define预处理指令中扩展。