1
有没有办法在标记之前强制预处理器完全评估符号?Force Preprocessor Evaluation Tokenizing
我想要的输入和输出示例GFR_SER_##token
,GFR_SER_INT
。
作为一个例子,我试图用Boost :: PP做一些预处理器元编程。
粘贴的字符串,它很容易,你只需添加一个水平间接的,如:
#define str(s) xstr(s)
#define xstr(s) #s
然而,这不适用于符号化工作,为#define xtkz(t) ##t
是非法的,由于在一开始的标记语法的表达。
我使用BOOST_PP_IDENTIFY(s)
,它解决了输入试过,但不幸的是导致是升压呼叫如GFR_SER_BOOST_PP_IDENTIFY(s)
的标记化。这个问题有没有很好的解决方法?