您的位置:首页 > 编程语言 > C语言/C++

C++:编写跨平台程序的关键,C/C++中的内置宏定义

2017-01-01 01:11 363 查看
得到的答案 都不好。为什么,因为他们都不知道原理。其实原理很简单,编译器 参数或Makefile添加了宏定义,你才可以这样去判断。

比如编译器设置了宏 is_windows,你才能去用。不设置没法用。

但是,我敢肯定各种编译器 内置一些宏,比如 MS VC的cl.exe ,LINUX的GNU gcc,在各个平台都会有不同的内置宏的。

 

所以 如果我搜索 "各个编译器 内置宏 操作系统" 少量的答案中 有一个 :

C++:编写跨平台程序的关键,C/C++中的内置宏定义
分两部分:

操作系统判定:

Windows: WIN32

Linux: linux

Solaris: __sun

编译器判定:

VC: _MSC_VER

GCC/G++: __GNUC__

SunCC: __SUNPRO_C和__SUNPRO_CC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: