【发布时间】:2011-04-07 16:14:00
【问题描述】:
我正在尝试定义一个宏来生成一个令牌名称,其中包含一个变量。
基本上,我正在尝试的是:
#define GLUER(x,y,z) x##y##z
#define PxDIR(x) GLUER(P,x,DIR)
int main() {
int port;
port = 2;
PxDIR(port) |= 0x01;
}
我希望在上述语句中生成令牌 P2DIR,但根据我的编译器输出,它正在生成令牌 PportDIR,这不是我想要的。这里有什么帮助吗?还是我试图做的事情是不可能的?
【问题讨论】:
-
你打算做
#define port 2吗?
标签: c concatenation token c-preprocessor stringification