0
我正在使用一些C预处理器宏,这些宏要感谢其他地方的更改,现在显示为((“Foo”))而不是“Foo”。问题是,在代码的其他地方,这是破坏连接。C预处理器,从字符串中去除条状图
E.G.
#include "some_external_FOO_and_FILE_PATH_declarations.h"
//FOO is (("Foo"))
const char* filepath = FILE_PATH(FOO "/bar")
//throws error
我怎样才能让FOO再次看起来像“Foo”?
UPDATE:让我们说: 的#define FOO( “巴”) 那么这将产生类似: “FOO”。这可能不是你想要的。 #define UNPAREN(...)__VA_ARGS__ (注意缺少#)会产生“酒吧”,但有一个窍门。你必须这样称呼它: UNPAREN FOO 而不是 UNPAREN(FOO) 因为parens已经在那里了,明白了吗? 请注意,这不适用于嵌套parens ... – Hatsuma