Windows系统,VS和GCC下各种数据类型大小的比较

两个编译器一个是VS2015,一个是MinGW64(GCC6.3)

 

#include <iostream>
using namespace std;

int main()
{
	cout<<"Size of char="<<sizeof(char)<<endl;
	cout<<"Size of pointer="<<sizeof(char*)<<endl;
	cout<<"Size of short="<<sizeof(short)<<endl;
	cout<<"Size of int="<<sizeof(int)<<endl;
	cout<<"Size of long="<<sizeof(long)<<endl;
	cout<<"Size of long long="<<sizeof(long long)<<endl;
	cout<<"Size of float="<<sizeof(float)<<endl;
    cout<<"Size of double="<<sizeof(double)<<endl;
	cout<<"Size of long long="<<sizeof(long long)<<endl;
	return 0;
}


VS编译运行结果:

32位:

Size of char=1
Size of pointer=4
Size of short=2
Size of int=4

Size of long=4
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

64位:

Size of char=1
Size of pointer=8
Size of short=2
Size of int=4

Size of long=4
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

 

下面是GCC6.3.0(mingw64),linux下long的大小为:32位程序--4字节,64位程序--8字节,windows不能通过long的大小来判断程序是32位还是64位,这是linux和windows差异之一

 

GCC(mingw64):

32位:

Size of char=1
Size of pointer=4
Size of short=2
Size of int=4

Size of long=4
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

64位:

Size of char=1
Size of pointer=8
Size of short=2
Size of int=4

Size of long=4
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

GCC(linux):

32位:

Size of char=1
Size of pointer=4
Size of short=2
Size of int=4

Size of long=4
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

64位:

Size of char=1
Size of pointer=8
Size of short=2
Size of int=4

Size of long=8
Size of long long=8
Size of float=4
Size of double=8
Size of long long=8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值