设置操作系统标志来测试操作系统的具体功能
问题描述:
为什么不能正常工作(它无法断言...我不希望它执行)?设置操作系统标志来测试操作系统的具体功能
#define OS_MACOSX 0
#if defined(OS_MACOSX)
fructose_assert(1==2);
#endif
答
因为您使用的是错误的测试。
OS_MACOSX
IS被定义为...到0
。你问是否是定义为。而不是询问如果是设置:
#if OS_MACOSX
fructose_assert(1==2);
#endif
如果它被定义的东西,计算结果为零,或者根本没有定义,则#if
将跳过代码。任何非零值,并且#if
条件已满足且代码已编译。
+0
是的,你是对的。谢谢! – user3564870
你定义的东西,然后检查是否被定义,但不知道为什么能产生如此?我不明白你为什么感到困惑。 –