我正在用 C 语言开发一个 API 多平台,我需要知道是否有办法知道哪个操作系统正在编译它。
例如,通过如下的预编译指令:
#ifdef LINUX
#include<linuxlib.h>
#elif OSX
#include<osxlib.h>
#elif WINDOWS
#include<rwindowslib.h>
最佳答案
这里有一些信息:
#if defined(__LINUX__)
// Linux, Android, MacOS
#if defined(__ANDROID__)
// Android
#elif defined(__APPLE__)
// MacOS
#else
// Linux or its flavor
#endif
#elif defined(WIN32)
// Windows targets must have WIN32 (_WIN32)
#endif
以下是可以在各种平台上定义的内容的大量列表: http://sourceforge.net/p/predef/wiki/OperatingSystems/
关于c - 用C语言开发的程序可以知道是哪个操作系统编译的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21805587/