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 643,ino_t:跟机器字长一样。

第一、设计初衷不同

64位是为视频、绘画、高性能应用程序所设计开发的32位是为普通用户开发的。

第二、配置要求不同

64位 *** 作系统只能安装在64位电脑上,32位 *** 作系统可以安装在64位电脑上。

32位 *** 作系统安装在64位电脑上,其硬件恰似大车拉小车,这样64位硬件性能会大打折扣。

第三、运算速度不同

64位CPU的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据。比32位提高了一倍,理论上性能会相应提升1倍。

第四、寻址能力不同

在Linux下32位系统不打开PAE的情况下,只能支持4G内存。

32位系统最大只能支持3.2g左右内存,而64位系统支持高达128g的物理内存和多达16TB的虚拟内存。

第五、软件普及不同

64位软件相较32位软件少。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存