C/C++编译平台以及x86和x64环境判定

本文介绍了在Windows下如何通过宏定义判断C/C++编译平台,特别是MingW编译器对_x86_和_x64_的支持情况。同时,也涉及了Linux环境下编译器的平台判定方法。
摘要由CSDN通过智能技术生成

Windows下宏定义

常量\定义预定义选项Windows.h文件VC编译器
WIN32√(minwindef.h) ×
_WIN32××x86和x64环境都定义
_WIN64××x64环境下定义

由于MingW编译器只支持x86编译经测试MingW编译器也会定义_WIN32宏,MinGW-w64支持x86和x64编译,未测试是否支持

_WIN64宏

#ifdef _WIN32
//windows平台 x86 or x68
#ifdef _WIN64
 //x64
#else
 //x86
#endif //_WIN64
#else
//unix
#endif //_WIN32

Linux下判断方法

//方式一
#ifdef __x86_64__
//x64
#elif __i386__
//x86
#endif

//方式二,还支持一些嵌入式环境如海思
#if  __WORDSIZE ==  64
//x64
#elif __WORDSIZE ==  32
//x86
#elif __WORDSIZE ==  16
//x16
#endif

//以下宏g++下可用,gcc不行
#ifdef linux
//linux
#endif
#ifdef unix
//unix
#endif

编译器判断

#ifdef _MSC_VER
//vc编译器
#elif __GNUC__
//gcc or g++
#endif

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值