我正在编写一个跨平台的代码,它应该在linux,windows,Mac OS上编译。在windows上,我必须支持visual studio和mingw。
有一些平台特定的代码,我应该放在#ifdef .. #endif环境中。例如,我在这里放置了win32特定的代码:
#ifdef WIN32
#include <windows.h>
#endif
但我如何识别linux和mac OS?什么是我应该使用的定义名称(或其他)?
发布于 2018-04-16 07:44:39
对于Mac OS:
#ifdef __APPLE__
对于Windows上的MingW:
#ifdef __MINGW32__
对于Linux:
#ifdef __linux__
发布于 2018-04-16 08:51:08
请参阅:http://predef.sourceforge.net/index.php
该项目为许多操作系统,编译器,语言和平台标准以及标准库提供了合理全面的预定义列表#defines。
https://stackoverflow.com/questions/-100003874
复制相似问题