请问defined的这种谁用过??
#define CHINA
#define TAIWAN
#define JAPAN
// 以上为测试宏,可任意定义(注释)其中几个
#define IN_ASIA (defined(CHINA) || defined(TAIWAN) || defined(JAPAN))
#if IN_ASIA
...
#end
这种写法在VS中不可行,IN_ASIA一直都是FALSE
但是在arm的编译器里面貌似逻辑就是正确的,不知道是不是他的扩展?还是个什么情况??
另外标准的写法应该是
#define CHINA
#define TAIWAN
#define JAPAN
#if defined(CHINA) || defined(TAIWAN) || defined(JAPAN)
#define IN_ASIA TRUE
#else
#define IN_ASIA FALSE
#endif
吧
下面的写法各个编译器均可以正确