首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从预处理器宏中识别平台/编译器?

如何从预处理器宏中识别平台/编译器?
EN

Stack Overflow用户
提问于 2018-04-15 23:25:40
回答 2查看 0关注 0票数 0

我正在编写一个跨平台的代码,它应该在linux,windows,Mac OS上编译。在windows上,我必须支持visual studio和mingw。

有一些平台特定的代码,我应该放在#ifdef .. #endif环境中。例如,我在这里放置了win32特定的代码:

代码语言:javascript
复制
#ifdef WIN32
#include <windows.h>
#endif

但我如何识别linux和mac OS?什么是我应该使用的定义名称(或其他)?

EN

回答 2

Stack Overflow用户

发布于 2018-04-16 07:44:39

对于Mac OS

代码语言:javascript
复制
#ifdef __APPLE__

对于Windows上的MingW

代码语言:javascript
复制
#ifdef __MINGW32__

对于Linux

代码语言:javascript
复制
#ifdef __linux__
票数 0
EN

Stack Overflow用户

发布于 2018-04-16 08:51:08

请参阅:http://predef.sourceforge.net/index.php

该项目为许多操作系统,编译器,语言和平台标准以及标准库提供了合理全面的预定义列表#defines。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003874

复制
相关文章

相似问题

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