linux下32位机与64位机基本数据类型长度对比

来源:互联网 发布:java数组的定义方式 编辑:程序博客网 时间:2024/04/30 08:19

基本数据类型

 数据类型 32位 64位 char 1 1 int 4 4 long
 4 8 float 4 4 double 8 8 long double 12 16 long long88
**********************************
centos_x32 centos_x64
char 8 8
int 32 32
long 32 64
float 32 32
Long long 64 64
double 64 64
Long double 96 128
char * 32 64
*********************************

可以指定int的长度:
 数据类型 32位 64位 int32_t 4 4 int64_t
 8 8
类似的,还有uint32_t和uint64_t

其它数据类型

1,size_t:跟机器字长一样;
2,off_t:32位机器下默认是32位长,这时无法对大于4G的文件偏移操作,这时off_t = __off_t;如果想进行大于4G的文件偏移操作,可以在程序中加入头文件之前定义
#define _FILE_OFFSET_BITS 64
这时off_t = __off64_t,具体定义在unistd.h中;对于64位机,默认就是64位长。
3,ino_t:跟机器字长一有;

原创粉丝点击