Linux下32位和64位不同数据类型字段长度

谨以此作为记录,方便日后查询,错误之处,欢迎指正。

验证环境

Ubuntu 12.04&14.04 32bit&64bit
gcc-4.8

32位和64位系统不同数据类型字字段长度对比

数据类型32bit Linux64bit Linux
char11
int44
long48
long long88
float44
double88
long double1216

有一些数据类型在底层开发用的比较多,比如:
int32_t、int64_t、uint32_t、uint64_t
这些类型一看就知道地段长度是多少了,无论在32位还是64位的系统上都不会改变。

其他数据类型:

  1. size_t:
    跟机器字长一样;
  2. off_t:
    32位机器下默认是32位长,这时无法对大于4G的文件偏移操作,这时off_t = __off_t;如果想进行大于4G的文件偏移操作,可以在程序中加入头文件之前定义
    这时off_t = __off64_t,具体定义在unistd.h中;对于64位机,默认就是64位长。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值