首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用预处理器指令检查操作系统?

如何使用预处理器指令检查操作系统?
EN

Stack Overflow用户
提问于 2008-09-27 07:44:00
回答 10查看 171.2K关注 0票数 249

我需要我的代码来做不同的事情,基于它被编译的操作系统。我在找这样的东西:

代码语言:javascript
复制
#ifdef OSisWindows
// do Windows-specific stuff
#else
// do Unix-specific stuff
#endif

有没有办法做到这一点?有没有更好的方法来做同样的事情?

EN

回答 10

Stack Overflow用户

发布于 2009-03-15 11:12:04

在Windows上显示GCC定义:

代码语言:javascript
复制
gcc -dM -E - <NUL:

在Linux上:

代码语言:javascript
复制
gcc -dM -E - </dev/null

MinGW中的预定义宏:

代码语言:javascript
复制
WIN32 _WIN32 __WIN32 __WIN32__ __MINGW32__ WINNT __WINNT __WINNT__ _X86_ i386 __i386

在UNIXes上:

代码语言:javascript
复制
unix __unix__ __unix
票数 79
EN

Stack Overflow用户

发布于 2008-09-26 23:55:01

在大多数情况下,最好检查给定的功能是否存在。例如:函数pipe()是否存在。

票数 8
EN

Stack Overflow用户

发布于 2014-02-22 00:41:28

代码语言:javascript
复制
#ifdef _WIN32
// do something for windows like include <windows.h>
#elif defined __unix__
// do something for unix like include <unistd.h>
#elif defined __APPLE__
// do something for mac
#endif
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/142508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档