目前我正在使用 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 未定义。
有什么技巧可以解决这个问题吗?
最佳答案
试试这个,希望这有帮助,..
#define UT_TRUE(exp) _UT_TRUE(exp, #exp)
可以引用一下..
http://gcc.gnu.org/onlinedocs/gcc-4.3.4/cpp/Stringification.html
关于c - 当exp中有引号时,LPC宏如何进行字符串化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13970983/