Mac无法运行64位应用程序的年龄?


7

我们正在努力决定确保我们的软件在32位模式下运行良好。(这是必须处理大型数据集的科学软件,因此确保其运行良好不仅意味着构建通用二进制文件,还要围绕地址空间限制进行​​设计。)

问:在最近的Mac上销售的那一年,开箱即用,无法运行64位应用程序?

通过“开箱即用”,我的意思是在天真的用户手中,不会升级操作系统,选择不同的内核,或以任何重要的方式更改默认的系统配置。


如果你问的是“天真的用户”并没有“选择不同的内核”,那么我认为你需要重新解释你的问题。Mac已经有64位功能很长一段时间,但默认情况下是否加载64位内核是一个不同的问题。例如,自2006年的初始型号以来,Mac Pro已经拥有64位处理器,但自2010年中期以来,默认情况下仅默认启动到64位内核。
tubedogg 2013年

1
如果他们无法在不切换到非默认内核的情况下运行64位程序,那么就我的目的而言,他们是32位机器,直到2010年中期。
Vebjorn Ljosa 2013年

3
我的观点确切 - 你的问题就像几乎所有的Mac一样(除了Intel Core Solo和Intel Core Duo处理器附带的最初的Intel型号)。我建议改写为“在哪一年默认销售的最后一批没有启动到64位内核的Mac?”
tubedogg 2013年

对我和我办公室里的其他人来说,“在哪一年,最后一台Mac无法运行64位软件?” 是“在哪一年中,最后一台Mac只能在32位上启动?” 无法运行64位=只能运行32位,除非你想回到8位和16位处理器的时代。显然,2011年制造的设备默认运行32位,但CAN运行在64位模式,不符合该标准。
戴夫

1
请注意,即使是32位内核也可以运行64位程序,因为Tiger(我认为)
标记

Answers:


9

编辑:基于对问题和答案的评论,我认为Mac OS X v10.6:使用64位内核的Mac链接更加相关。

基本上,只有2010年中期的Mac Pro,2011年初的MacBook Pro和2011年中期的iMac默认使用Snow Leopard在64位模式下启动。自Lion(2011年中)以来,每台新Mac仅为64位。

所以回答你的问题:

在哪一年,最后一台没有能力(没有用户调整)运行64位软件的Mac 出售了?

==> 2011

编辑2:正如Vebjorn Ljosa在评论中提到的,让内核以32位或64位模式运行对你的二进制文件没什么影响,所以你可以假设在2007年中期之后出售的Mac将运行64位应用程序(基于下面的数据)。


  • Mac mini
    • 最后32位处理器:2006年末
    • 最古老的64位处理器:2007年中期
  • iMac
    • 最后32位处理器:2006年初
    • 最古老的64位处理器:2006年末
  • Mac专业版
    • 一直是64位能力
  • MacBook
    • 最后32位处理器:2006年初
    • 最古老的64位处理器:2006年末
  • MacBook Pro
    • 最后32位处理器:2006年初
    • 最古老的64位处理器:2006年末
  • MacBook Air
    • 一直是64位能力

所以看起来最后一款只售32位处理器的Mac是2006年末Mac mini。


那些维基百科条目不是“内核默认模式”,这意味着它们具有两者的能力,但默认为一个或另一个?
戴夫

谢谢KyleCronin,修复它。@Dave,如果您正在谈论Mac Pro,我会查找每个处理器并根据“指令集”条目查看结果。
Guillaume Algis 2013年

我对你的调查结果没有异议,但Apple自己的网站称Mac Pro 2009是64位,我在回复中链接的网站也是如此。(见support.apple.com/kb/SP506
Dave

1
@GuillaumeAlgis您的Mac Pro条目不正确。自2006年第一款以来,所有Mac Pro机型都拥有64位处理器。看到这一点,显示2006年型号中出货的双核英特尔至强64位。列出的日期是默认情况下引导到64位内核的第一个模型。
tubedogg 2013年

1
具有64位处理器的Mac是否可以运行64位应用程序,即使内核是32位?
Vebjorn Ljosa 2013年

3

在这方面,苹果在切换到英特尔处理器时“退缩”了一点。当时,所有基于G5 PPC的Mac都是64位,第一款Core-Duo的推出带来了新的32位Mac,当时他们已经逐步淘汰了32位。不久。

我清楚地记得史蒂夫·乔布斯在2005年WWDC上的主题演讲,抱歉地向英特尔解释了这一举动,主要是因为“英特尔向他提出了坚实的处理器路线图,而不是IBM对低能耗桌面计算的兴趣下降”。

最后,我的朋友,如果你正在开发一个应用程序,你可以非常自信地忘记32位。Xcode的Mac目标“标准架构”仅为64位,Apple已经在几年内忽略了32位的Obj-C运行时。

这意味着 - 没有ARC,没有属性的自动合成,脆弱的isa对象等等。构建Universal或32bit会对您的开发施加严重限制。


2

Core Duo是最后的32位处理器。所以我认为这些是从2006年左右开始的,那时Apple首次转向英特尔处理器。

编辑:

有关更多信息,请参阅Apple历史记

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.