百科问答小站 logo
百科问答小站 font logo



为什么 Windows 上还没有普及 64 位的软件? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

我们来看看发布64位软件需要哪些条件:

鉴于大部分Windows应用还是用C++开发为主,尤其是GUI客户端,所以我们只谈谈C++。

1. 平台支持64位,Windows本身一直有64位版本,但是用户安装的普及率就呵呵了

2. 编译器支持64位,VC6不行,新版本肯定没问题

3. Framework支持64位,主流基本OK,但是众多第三方开源库就不保证了

4. 调试测试工具支持64位,性能测试,内存泄漏检测,自动化测试工具,崩溃分析,静态代码分析等等,这个涉及的东西太多,不保证都有64位支持

5. 第三方辅助外挂插件等,这些东西也是生态环境的一部分,没有也不行,它们的开发者大多数小公司或个人,未必有能力或意愿发布支持64位的版本

6. 程序员的能力,开发64位同时还要保证32位也是可用的,一份代码同时兼容32/64对程序员技能是有较高要求的。

再看看带来的好处:

1. 能用更大的内存,大约大于1.6GB,不过普通程序哪需要这么多,如果真的有这么多,十有八九是出bug了,内存泄漏。

2. 会有更好的性能,大约能提升10 - 20%左右,但是如果程序中依赖汇编性能优化,还需要开发64位汇编,否则性能可能会比32位还差。

总的来说,开发64位应用的外部条件成熟度只有一半多一点,开发过程中多少都会遇到一些64位特有的麻烦。所以绝大多数开发商对于发布64位版本都是没什么动力的。

64位普及度最高的平台是 iOS,从iPhone5s开始CPU都是64位的了,xcode编译同时生成32/64两份代码,无需工程师干预,AppStore强制要求支持64位,否则不让上架。所以整个iOS生态系统很快就切换到了64位,甚至有的应用已经不再发布32位版本了。iOS是个新系统,没有太多历史包袱,大部分应用代码规模非常小(相对于windows应用来说),容易移植。Apple只做个人消费市场,没有企业级客户,所以可以半强制用户升级软硬件,32位很快就被淘汰了。




  

相关话题

  电脑压缩软件哪个好? 
  「数据结构」的主要内容有哪些,难度如何,怎样系统地学习? 
  如何让Windows 10系统桌面变得更好看? 
  为什么Linux用户用sudo命令而不直接使用root用户? 
  量子计算机的出现会给实际生活带来怎样的改变? 
  为什么高端ThinkPad的屏幕液晶面板还是TN? 
  学计算机对女生友好吗? 
  需要用到 Linux/Unix,是买 MacBook Pro还是 Windows 装Linux vm? 
  为什么都是大一计算机水平差距这么大? 
  有没有一种可能,做出来512g内存的计算机,这样就不需要外存了,那os这门课是不是内容可以少点? 

前一个讨论
如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?
下一个讨论
为什么清军靠屠杀汉人能够得天下,不是得民心者得天下吗?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利