我有宏
#define BUS B
我想将宏BUS_PORT
扩展为PORTB
。
我做了以下事情:
#define BUS_PORT PORT ## BUS
但BUS_PORT
扩展为PORTBUS
。我做错了什么?怎么做对了?
答案 0 :(得分:1)
如this answer中所述,您需要额外的间接级别。 E.g。
#define BUS B
#define PASTER(x,y) x ## y
#define EVALUATOR(x,y) PASTER(x,y)
#define BUS_PORT EVALUATOR(PORT, BUS)