【发布时间】:2013-06-04 02:13:51
【问题描述】:
我知道:
#define foo 4
#define str(s) #s
用str(foo) 写出:"foo",因为 stringify 是首先执行文本扩展,但是这样:
#define xstr(s) str(s)
#define str(s) #s
#define foo 4
xstr(foo) 写出:"4"。
为什么?流程中涉及哪些步骤?
【问题讨论】:
-
@alk 链接已更改。正确的链接是:gcc.gnu.org/onlinedocs/cpp/Stringizing.html#Stringizing
标签: c++ c c-preprocessor stringification