很多人可能有一个观念,那就是64位的程序NB,有技术含量,但是要说nb在哪,很多人又说不上来,本节来对这个问题做一个探讨
下图中左边的是加载的64程序,右边的是32位程序,
在上一节课我们已经理解了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位的怎么搞?直接损失客户