是否有可能做这样的事情:宏观依赖宏观
#define F(x) \
#ifdef DOUBLE \
2*x \
#else \
x \
#endif
这样,当我使用F
,它扩展到取决于是否在宏DOUBLE
定义?我不这么认为,但我很有希望。 GNU扩展很好。
编辑 为了回应一些答案,我真的用它来做一些代码生成,其中代码根据定义的位置稍有不同。由于包含某些文件的顺序以及需要定义相关宏的位置,因此要切换它需要一些分解。我可能必须这样做,但如果我不必从这个角落解脱我自己就会感到兴奋!
这很完美。 – 2011-02-08 00:45:20