下载

64位程序意义不大:Leopard中没Carbon上场

BlackWing 2007-06-15 09:34:46
技术动态

 

  在去年的WWDC会议上,Steve Jobs宣布Leopard将全面支持64位计算:不但像Tiger中的Unix命令行方式提供64位支持,而且Carbon和Cocoa中也会提供支持。但在昨天的主题演讲中,Jobs只提到Cocoa会支持64位,而Carbon则未曾提及。这里介绍一下Carbon,它是用于从OS 9到OS X进行过渡的应用程序编程接口(API),虽然它不是最新最强大的版本(Cocoa才是),但是Carbon仍然占有一席之地,甚至Apple也使用它来支撑其自己的应用程序。有消息称,Jobs不是因为疏忽而没提及Carbon,很明显Apple已经决定取消Carbon对64位的支持。


Leopard

神秘的Leopard


  尽管还可以寄望于Leopard中的64位Cocoa应用程序,但这意味着第三方开发人员,特别是那些开发跨平台产品的第三方开发者,更加不愿意在他们的应用程序中增加对64位计算的支持。这样做就要求移除所有对Carbon的引用,知情人士表示这是极之难实现的,实际上那些主要使用Cocoa的应用程序还是会依赖于Carbon来完成Cocoa不能或者不易实现的东西。

  此外,Adobe也已经表示不会很快就为其Creative Suite提供64位的支持,所以在可以预见的未来,要在PhotoShop中处理千兆像素级的图片还是像以前一样不变。

  Mac平台64位计算的历史要追溯到Mac OS X 10.3 Panther时代。Panther除了支持超过4GB的物理内存外,其它方面都不算是真正的64位。而Mac OS X中首个真正支持64位的系统是现在的Tiger。在这个版本的操作系统中,开发运行在完全支持64位的终端或后台的程序变成现实。然而,直到Leopard推出前,任何支撑Mac OS X中高级功能的高级框架(如图形界面)仍然停留在32位的世界中。

  最初看来,为大部分应用程序增加64位的支持似乎意义不大,因为大多数程序都不会用到超过4GB的内存。实际上,64位的程序很可能会比32位程序慢,因为那些指向内存地址的指针已经增大为64位,这样代码会占用更多的内存空间。然而,64位模式的x86 CPU拥有更多更大的寄存器,并且因为没有遗留应用程序,因此可以清空操作系统中的某些内容。所以,也有可能64位的程序会比32位的运行得更快。而程序之间的效率比这些差异更受关注,所以开发人员对他们的应用程序进行测试以决定是否应该增加对64位的支持。

  这可能会导致代码变得更加臃肿:除了32位的PowerPC和Intel平台的代码外,如果有需要应用程序还可能会包含64位版本的代码。很明显,Apple对待Leopard的态度正是如此:如果硬件支持,那么只有那些实际能从64位获益的程序才会运行在64位模式,不然就会采用32位模式。

打开太平洋知科技,阅读体验更佳
前往太平洋知科技APP查看原文,阅读体验更佳
继续评论
前往APP
制作海报

网友评论

写评论
APP内评论,得金币,兑好礼

聚超值推荐

相关推荐