目前我正在使用LPC,它使用与C相同的预处理器。 我们有一个宏如下:
#define UT_TRUE(exp) _UT_TRUE(exp, "##exp")
但现在我们有一个exp:
UT_TRUE(map["true"])
所以它变成了:
_UT_TRUE(map["true"], "map["true"]")
exp成为“map [”true“]”,而且未定义为true。
有什么技巧可以解决这个问题吗?
答案 0 :(得分:4)
试试这个,希望这有帮助,..
#define UT_TRUE(exp) _UT_TRUE(exp, #exp)
你可以参考..
http://gcc.gnu.org/onlinedocs/gcc-4.3.4/cpp/Stringification.html