当使用LPC宏在exp中引用时如何进行stringify?

时间:2012-12-20 11:15:52

标签: c macros

目前我正在使用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。

有什么技巧可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

试试这个,希望这有帮助,..

#define UT_TRUE(exp) _UT_TRUE(exp, #exp)

你可以参考..

http://gcc.gnu.org/onlinedocs/gcc-4.3.4/cpp/Stringification.html