Windows 10 64位的为什么安装的软件基本都是32位的?

论坛 期权论坛 金融     
aofxh   2022-6-26 04:40   9785   5
电脑是Windows 10 64位的,安装了浏览器、酷狗等软件都是32位的,下载的也都是32位的
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
wyfuj5  1级新秀 | 2022-6-26 04:40:41 发帖IP地址来自 中国
我补充下,Office 装 32 位是因为它会加载 C++ 插件,而很多 Office 插件(尤其是企业定制插件根本不会更新,自然也谈不上支持 x64。
x86 到 x64 移植并不是平凡的,比如数据结构大小、对齐就有差异。x64 到其他 64 位的 arch(比如 ARM)之间也不是简单另存为就行的,即使你没用 intrinsic,一些 ABI 关联的差异也会影响(比如 va_list 在 ARM 上的实现就很不寻常)。
3#
a35p5  1级新秀 | 2022-6-26 04:41:16 发帖IP地址来自 北京
目前大多数情况是:
很多应用32位就足够了,对于32位就够用的场景,开发64位的意义并不大。对用户使用体验没什么提升,没有必要。
并且目前64位的操作系统都向下兼容32位,使用32位进行开发可以一个版本同时兼容32位和64位。这样无论是版本管理还是用户使用都比较方便(一个版本就够了)安装包也只需要一个,体积可以做小。发布了64位版本意味者要维护和更新两个版本“32位和64位”,这个投入和麻烦程度并不会有什么回报甚至容易出错,同样的精力用在其他方面更有意义。只推出64位版本的开发者某种程度上是为了方便(或者某种追求最新的心态)忽视了一部分老机器或32位系统的用户需求,是不负责任的(或者他的场景下没有32位用户)。
这是我认为目前大多数win软件都选择了32位进行开发的原因。除非有一天所有的操作系统都是64位了,这些软件才会不用考虑向下兼容以64位开发(如MAC上的软件)。只要有一定数量用户使用32位操作系统,开发者为了解决向下兼容就会首选只开发32位版本。这个过程大概还需要3-5年。
对运算性能要求高(需要高内存和cpu带宽)或者有特殊库需求的应用除外,这些应用在64位上的性能会比32位高很多,为了让64位用户有更好的体验,就会发布64位版本,往往这类应用都同时有32位和64位版本供用户选择或者把32位和64位打包到一个安装包中。但一般是专业软件和游戏或者驱动才有必要。因为这类软件64位版本速度更快性能更好,收益是显而易见的,值得去维护两个版本。
所以像题主说的酷狗之类的软件只有32位版本的原因很简单,因为32位版本够用了,即使做一个64位版本出来也和32位没啥差别,考虑到向下兼容和版本维护,没必要做64位版本。
至于浏览器,只能这样说,绝大多数场景下32位也够用了,但是要做完美些,64位会更好。因为64位浏览器和32位浏览器在复杂的网页应用下的确有可感知的性能差异。
最后,我能说32位的开发难度和调试难度更大么?
4#
hsdgl  1级新秀 | 2022-6-26 04:42:06 发帖IP地址来自 北京
我从程序员的角度看,很多软件程序仍然是32位的,因为毫无必要改成64位。
绝大部分情况下,程序编译连接成64位只为了访问更大的地址空间。几乎没别的意义。
对于一部分桌面软件,比如音视频播放器、IM、桌面小工具(如计算器等)等,如果其用户地址空间占用超过了32位地址访问能力(2G),那它要考虑的不是改成64位而是看看哪里搞错了。
以前我在一个分布式计算中间件组工作时,确实见过客户用c#写的用于分析业务数据的计算节点程序,真是会动辄超过2G。当时他们自己没意识到,发现程序老崩,就来找我们解决问题。结果我才发现这个现象。后来建议他们要么编译成64位,要么手动调GC。
后来我在IBM大型商用机系统上工作,看到甚至还有好多工具程序是24位编译呢!
5#
dao6j  1级新秀 | 2022-6-26 04:42:42 发帖IP地址来自 北京
那么问题来了,对于大部分轻量级软件而言,64位相比较32位到底有什么优势?
ipv6到底比ipv4优势在哪里?
5g到底比4g现阶段优势体现在哪?
不是升级就一定好,不升级就一定不好
不要被升级主义洗脑……
6#
iy4p7  1级新秀 | 2022-6-26 04:43:33 发帖IP地址来自 北京
一部分软件很久没有更新维护了。所以依然还是32位。如果他们重新开发,或者进行大版本更新,可能会提供64位。
另外就是一部分老旧的开发工具不支持64位。所以没有更新开发工具链的部分企业也没有将软件更新到64位。
现实情况就是,移动端大势所趋,主要精力放在移动端,PC端基本是拿着老旧代码缝缝补补,如果原先是为32位开发的软件,就懒得折腾升级到64位了,你说的酷狗PC端大概就是这种原因。
项目开发没有为【升级64位】这个需求单独立项,留出工作量时间,程序员们自然多一事不如少一事。——这导致了移动端都64位,PC端反而没有及时更新到64位。
这种不思进取的软件我已经尽量不用了,因而,现在我的Windows电脑上,已经没有安装任何32位软件。只要你不提供64位,我肯定就拒绝安装。
--
当然了,比较新立项的软件基本都会是64位,如果不依赖老旧的库的话。
举个例子:几乎所有新开发的游戏都只有64位版本。7-zip作为长期以来积极维护的压缩软件,有64位版本,同理包括绝大多数目前还在活跃更新的开源软件都有64位版本,微软的大多数官方软件都有64位版本。
浏览器的话,靠谱的比如Firefox,Chrome,Edge,Safari全都是64位,不知道你下载的啥流氓软件浏览器居然会是32位,恐怕厂商早就没维护了?
我司自研的软件只有一个是32位的,原因在于它依赖腾讯的某个库,而腾讯提供的这个库只有32位版本。类似的,腾讯自己还有大波软件是32位,显然也是历史包袱所致。——依赖的某些旧软件没有64位版本,而那部分基础库可能早旧没有人维护,所以没有条件升级到64位,只好保持32位,锁死了未来发展。
其他国产公司提供32位的大概也有类似的原因:因为历史代码没有升级到64位,为了利用这些历史代码,只有维持32位输出。
--
至于说为了兼容性而保持32位,个人觉得这应该不算是非常合适的理由,毕竟,第一款64位民用CPU在2003年就已经诞生,而2008年以后的电脑基本都是64位的,在12年后的今天,依然还在服役的32位电脑几乎已经绝迹了,实在是没有理由为了兼容性而提供32位版本
这里需要补充说明一下,32位电脑确实已经绝迹了,但有一部分64位电脑依然安装了32位操作系统,浪费了自己电脑的性能(因为安装32位操作系统导致不能使用64位指令集,在64位CPU上使用32位系统浪费了大量的CPU特性,降低了CPU性能)。实际上,我们完全没有必要支持这部分电脑,毕竟,他们完全可以重装一个64位系统获得64位支持(2008年以后的电脑基本都是64位CPU)。
--
总结:他们是32位的原因在于,这些软件都是很旧的软件,最初是为32位开发的,项目组又没有提需求让程序员升级到64位,自然程序员们就懒得折腾
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP