书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 627|回复: 1

【32与64位程序的区别】

[复制链接]

416

主题

439

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581489
发表于 2023-5-22 23:09:03|字数:953 | 显示全部楼层 |阅读模式
LV10 站长

很多人可能有一个观念,那就是64位的程序NB,有技术含量,但是要说nb在哪,很多人又说不上来,本节来对这个问题做一个探讨


先阅读知识点:
服务器系列-015: 【32与64位系统内存阐述】



如果你不会使用CE工具,那么查看易语言系列-059:【CE修改内存】           060:【代码实现内存修改】



2进制和16进制的关系:004:【进制的理解】  


下图中左边的是加载的64程序右边的是32位程序
1.png




在上一节课我们已经理解了32位和64位的含义,指的是2进制长度,那么对于32位长度的最大2进制是多少,答案是11111111 11111111 11111111 1111111,也就是32个1,转换成16进制的结果是FFFFFFFF,在上图中我们可以看到,64位的地址16进制长度是10位,比FFFFFFFF要大,而32位的程序内存地址是8位长度的16进制,在0-FFFFFFFF区间内


总结:32位程序理论上最大只能使用4G内存,而64位可以几乎不限制(值太大了),所以对于一些大型程序,比如大型游戏则需要采用64位的框架去开发,但在实际应用中,不建议大家采用64位框架去开发程序,只是听起来NB,用处不大,个人开发的程序一般是用不到4个G的内存的,而且大家理解内存地址的长度后也应该知道了,64位程序是不能够在32位系统运行的,所以市场上大多数的软件都是32位



重点:64位的开发也并没有比32位的难,打包的时候是可以选择打包成32位还是64位的。。。回到问题,那为什么64位的程序比32位的NB?那你想想,为什么人家不打包成32位要打包成64位?是不是说明32位达不到某些要求,所以只能打包成64位,所以那是是人家程序NB,这是关键,我自己开发也是一样,除非开发一些插件强制64位,否则一般是不会去开发64位的程序的,32位的电脑用不了


难点:64位程序运行速度更快,稳定性更好?安全性更高?对于这样的问题我没去探究过,我个人觉得有点道听途说的感觉,大家有兴趣的可以讨论,但我觉得不在考虑范围,对于广大编程爱好者来说,就是32位程序更好,因为可以在32位的系统上运行,要不然万一有的客户系统是32位的怎么搞?直接损失客户


(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134
回复

使用道具 举报

0

主题

4

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2023-7-30 07:35:43 | 显示全部楼层
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-5-19 07:33 , Processed in 0.128509 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表