c – 是否可以比较条件使用的#ifdef值

前端之家收集整理的这篇文章主要介绍了c – 是否可以比较条件使用的#ifdef值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图想出一种通用的,易于使用的方式来运行某些代码,这取决于我当时使用的api.

标题中:

#define __API_USED cocos2d-x

#define COCOS2DX  cocos2d-x
#define OPENGL opengl

#ifdef __API_USED == COCOS2DX
    #define USING_COCOS2DX
    #undef USING_OPENGL
#endif

来源:

#ifdef USING_COCOS2DX
    ......
#endif

但是,我不认为这会奏效.

有没有办法完成我想做的事情?

解决方法

你可以,但你需要这样做:
#define __API_USED COCOS2DX

#define COCOS2DX  1
#define OPENGL 2

#if __API_USED == COCOS2DX
    #define USING_COCOS2DX
    #undef USING_OPENGL
#endif

正如Keith Thompson解释未定义的令牌(宏),如cocos2d和x计算为0,因此您需要为您正在使用的宏定义值.

猜你在找的C&C++相关文章