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
比如编译器设置了宏 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
相关文章推荐
- C++类型转换
- C程序设计语言- 导言-1.2----函数、参数的传值调用、字符数组、外部变量与作用域
- c语言之var_arg可变参数的使用
- HDU How many prime numbers
- 【C++解题报告】十进制转换二、八、十六进制
- 【C++解题报告】阿克曼(Ackmann)函数
- C++ Concurrency in Action (by Anthony Williams)
- 【C++解题报告】求最大公约数问题(辗转相除法)
- 【C++解题报告】猴子吃枣问题
- 【C++解题报告】求阶乘之和(定义函数)
- c++对象成员
- 如何使用vsprintf, vsnprintf等函数
- 【C++解题报告】求组合数(定义函数)
- # C/C++的笔试题目
- 【C++ STL应用与实现】62: 如何使用std::next_permutation
- c++ 11 lambda函数
- java继承和c++继承的区别
- Clang比 gcc/g++更人性化代码出错提示的C/C++编译器
- 读书笔记《深度探索c++对象模型》 概述
- C/C++产生随机数