我需要我的代码来做不同的事情,基于它被编译的操作系统。我在找这样的东西:
#ifdef OSisWindows
// do Windows-specific stuff
#else
// do Unix-specific stuff
#endif
有没有办法做到这一点?有没有更好的方法来做同样的事情?
发布于 2009-03-15 11:12:04
在Windows上显示GCC定义:
gcc -dM -E - <NUL:
在Linux上:
gcc -dM -E - </dev/null
MinGW中的预定义宏:
WIN32 _WIN32 __WIN32 __WIN32__ __MINGW32__ WINNT __WINNT __WINNT__ _X86_ i386 __i386
在UNIXes上:
unix __unix__ __unix
发布于 2008-09-26 23:55:01
在大多数情况下,最好检查给定的功能是否存在。例如:函数pipe()
是否存在。
发布于 2014-02-22 00:41:28
#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
https://stackoverflow.com/questions/142508
复制相似问题