我搜索了该网站,但没有找到我正在寻找的答案,所以这是一个非常简单的问题。

我正在尝试做类似的事情:

#ifdef _WIN32 || _WIN64
     #include <conio.h>
#endif

我怎么能做这样的事呢?我知道 _WIN32 是为 32 位和 64 位窗口定义的,所以我可以使用其中任何一个来进行窗口检测。我更感兴趣的是我是否可以使用像预处理器指令那样的逻辑运算符,如果是的话如何使用,因为上面的方法不起作用。

用 gcc 编译我得到:

警告:#ifdef 指令末尾有额外的标记,它基本上只采用第一个宏并忽略其余部分。

有帮助吗?

解决方案

尝试:

#if defined(_WIN32) || defined(_WIN64)
// do stuff
#endif

宏测试中定义的是否一个名称被定义,并让您应用逻辑运算符来的结果。

其他提示

我认为应该可以这样:

#if defined block1 || defined block2 /*or any other boolean operator*/
   /*Code*/
#endif

更多信息 这里

使用定义:

#if defined(A) || defined(B)
    #include <whatever.h>
#endif
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top