是否有可能做這樣的事情:宏觀依賴宏觀
#define F(x) \
#ifdef DOUBLE \
2*x \
#else \
x \
#endif
這樣,當我使用F
,它擴展到取決於是否在宏DOUBLE
定義?我不這麼認爲,但我很有希望。 GNU擴展很好。
編輯 爲了迴應一些答案,我真的用它來做一些代碼生成,其中代碼根據定義的位置稍有不同。由於包含某些文件的順序以及需要定義相關宏的位置,因此要切換它需要一些分解。我可能必須這樣做,但如果我不必從這個角落解脫我自己就會感到興奮!
這很完美。 – 2011-02-08 00:45:20