linux下32位机与64位机基本数据类型长度区别介绍
这篇文章主要介绍了linux下32位机与64位机基本数据类型长度区别介绍,需要的朋友可以参考下
基本数据类型
可以指定int的长度:
类似的,还有uint32_t和uint64_t
数据类型 | 32位 | 64位 |
char | 1 | 1 |
int | 4 | 4 |
long |
4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
long double | 12 | 16 |
long long | 8 | 8 |
可以指定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的文件偏移操作,可以在程序中加入头文件之前定义
这时off_t = __off64_t,具体定义在unistd.h中;对于64位机,默认就是64位长。
#define _FILE_OFFSET_BITS 64
3,ino_t:跟机器字长一样。
很赞哦!()
大图广告(830*140)