C++编译中常用的平台宏
针对不同的平台,很多头文件,函数名称,类型占用空间不一致。
为了保证跨平台可编译,经常需要在项目中使用宏进行区分
平台宏
操作系统 | 可使用的宏 |
---|---|
Windows 32位 | _WIN32 |
Windows 64位 | _WIN32;_WIN64 |
Linux | __linux__ |
MacOS | __APPLE__ |
GCC版本宏
内容 | 宏 |
---|---|
主版本号 | __GNUC__ |
次版本号 | __GNUC_MINOR__ |
修正版本号 | __GNUC_MINOR__ |
Visual Studio版本宏
可以通过判定_MSC_VER,确认当前是VS环境。
其中2013版本之前和2015版本以后的版本存在巨大差异,编译后的lib库无法混用。需要注意。
版本 | _MSC_VER |
---|---|
2022 | 1930 |
2019 | 1920 |
2017 | 1910 |
2015 | 1900 |
2013 | 1800 |
2012 | 1700 |