如何将ifndef win32与ifndef iOS结合使用

时间:2017-11-05 23:56:33

标签: c++ ios ifndef

我有一个C ++代码部分,我想将其排除在构建iOS之外。

我该怎么做?

跟进问题:
如果我已经有#ifndef WIN32。我希望将WIN32iOS排除在一起,是否可以执行#ifndef WIN32 & iOS之类的操作? 我应该如何排除代码Win32& iOS只有一个条款?

PS:
我看到很多帖子解释了如何#ifndef iOS,但如何将其与#ifndef WIN32进行梳理是个问题。

1 个答案:

答案 0 :(得分:3)

要排除在WIN32和iOS上构建代码,您需要使用#if/#endif而不是#ifndef/#endif。如果您尚未定义宏来检测iOS的编译,请查看此answer。否则,可以通过以下方式进行预防:

#if !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)
// Your code here
#endif // !defined(WIN32) && !defined(YOUR_IOS_MACRO_HERE)

您使用#if而不是#ifndef的原因是前者允许多个语句与&&||相关联,而后者仅检查是否存在一个宏。