2016-12-15 98 views

回答

3

因为您使用的是错误的测试。

OS_MACOSX IS被定义为...到0。你问是否是定义为。而不是询问如果是设置

#if OS_MACOSX 
    fructose_assert(1==2); 
#endif 

如果它被定义的东西,计算结果为零,或者根本没有定义,则#if将跳过代码。任何非零值,并且#if条件已满足且代码已编译。

请参阅此相关的问题:Why do people use #ifdef for feature flag tests?

+0

是的,你是对的。谢谢! – user3564870