The size of base data type in Ubuntu-AMD64

都说64位操作系统中的sizeof(int)应该等于8,即8字节,我特意在我的64位AMD CPU的本本上装了一个64位Ubuntu操作系统,当然不完全是为了测试sizeof(int)。可测试结果让我出乎意料,sizeof(int)=4;sizeof(long)=8;我找了g++编译器的选项,但是没有找到能够将sizeof(int)编译成64位的,-mint64被认作不能识别的命令。虽然-m64可以识别,但我认为编译器已经默认使用了该选项,因为使用与不适用该选项结果都是一样的,至少在程序的输出中都是一样的。

测试代码如下:

#include <iostream>

int main(int argc, char argv[])
{
  std::cout<<"sizeof(short)    = "<<sizeof(short)<<std::endl;
  std::cout<<"sizeof(int)      = "<<sizeof(int)<<std::endl;
  std::cout<<"sizeof(long)     = "<<sizeof(long)<<std::endl;
  std::cout<<"sizeof(long long)= "<<sizeof(long long)<<std::endl;
  std::cout<<"sizeof(float)    = "<<sizeof(float)<<std::endl;
  std::cout<<"sizeof(double)   = "<<sizeof(double)<<std::endl;
  std::cout<<"sizeof(long double)="<<sizeof(long double)<<std::endl;
  return 0;
}

 

查看系统信息如下:
uname -a
Linux fibbery-desktop 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64 GNU/Linux

运行结果如下:
sizeof(short)    = 2
sizeof(int)      = 4
sizeof(long)     = 8
sizeof(long long)= 8
sizeof(float)    = 4
sizeof(double)   = 8
sizeof(long double)=16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值