Linux中32位和64位数据类型长度有哪些不同

Linux中32位和64位数据类型长度有哪些不同,第1张

 基本数据类型

可以指定int的长度:

类似的,还有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:跟机器字长一样。

因为 size_t 还没定义;size_t这个类型是linux 里面常用的数据类型。解决方法:1、你可以在程序比较靠前位置加上 typedef int size_t2、你也可以使用#define size_t int 这么个宏定义, 但是你必须清楚它的副作用,linux里面的使用方法应该是类似于上者,而不是这个!祝你好运!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7367145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存