#ifndef defined(INTERNATIONAL) || defined(DEBUG) // WE NEED TO REGISTER WITH THE CRITTERCISM APP ID ON THE CRITTERCISM WEB PORTAL [Crittercism enableWithAppID:@"hahayoudIDntthinkIDleavetherealonedIDyou"];#else DDLogInfo(@"Crash log reporting is unavailable in the international build"); // Since Crittercism is Disabled for international builds,go ahead and // registers our custom exception handler. It's not as good sadly NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); DDLogInfo(@"Registered exception handler");#endif
这个真值表显示了我的期望:
INTL defined | DEBUG defined | Crittercism Enabled F | F | T F | T | F T | F | F T | T | F
这之前它只是#ifndef INTERNATIONAL.我也试过没有定义的(blah)和括号围绕整个语句(分别是相同的警告和错误).
如何从编译器中获得我想要的行为?
解决方法 你要:#if !defined(INTERNATIONAL) && !defined(DEBUG) // neither defined - setup Crittercism#else // one or both defined#endif
或者你可以这样做:
#if defined(INTERNATIONAL) || defined(DEBUG) // one or both defined#else // neither defined - setup Crittercism#endif总结
以上是内存溢出为你收集整理的ios – 使用ifndef和||进行条件编译不会遇到第二种情况全部内容,希望文章能够帮你解决ios – 使用ifndef和||进行条件编译不会遇到第二种情况所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)