我正在用C语言开发一个API多平台,我需要知道是否有办法知道哪个操作系统正在编译它。
例如,通过如下的预编译指令:
#ifdef LINUX
#include<linuxlib.h>
#elif OSX
#include<osxlib.h>
#elif WINDOWS
#include<rwindowslib.h>
答案 0 :(得分:1)
以下是一些信息:
#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/