fbpx
维基百科

通用二进制

通用二进制(英語:Universal binary)是苹果电脑公司提出的一种程序代码,使程序能以本地程序的形式运行在使用PowerPC或者英特尔微处理器(x86)的麦金塔电脑上,在同一个程序包中同时为两种架构提供最理想的性能。硬件方面,苹果电脑公司已经将其产品线上的所有麦金塔电脑在2006年内转为英特尔处理器,相对应的软件方面,苹果最早是在2005年蘋果電腦全球研發者大會上就发布了通用二进制的内容来适应这种转换。

当程序在操作系统中运行后,将自动检测通用二进制代码,然后根据使用的架构自动选择合适的代码来执行,因此实现无损的本地程序运行速度。

概要 编辑

通用二进制代码有两种基本类型。一种类型就是简单提供两种独立的二进制代码,一个用来对应x86架构,一个用来对应PowerPC架构。但是对于不熟悉代码的普通软件使用者来说,在购买和使用的时候,可能搞不清二者区别。另外一种类型就是只编写一个架构的代码,当另外一种处理环境时让系统自动调用模拟器运行。这会导致运行速度下降,一般是作为“通用二进制”或者“特别连编二进制”出现之前暂时使用的折衷办法。(参见Rosetta

因为需要储存多种代码,通用二进制应用程序通常比单一平台二进制的程序要大,但是由于两种架构有共通的非执行资源,所以并不会达到单一版本的两倍之多。而且由于执行中只调用一部分代码,运行起来也不需要额外的内存

在1990年代中期从68k处理器转换到PowerPC的时候,苹果电脑公司使用了一个类似的技术。当时这些双平台可执行程序被称为 "胖二进制英语fat binaries",因为他们文件容量比原来要大。

目前,苹果公司的Xcode是唯一一个可以编译通用二进制代码的GUI工具。一个使用processor-independence开发的简单应用程序只需要改动很少的部分就可以实现通用二进制。但是对于那些基于要发挥一种架构特长的复杂程序来说,修改代码通过连编就是一个比较复杂的工程。 使用其他开发工具制作的应用程序需要额外的修改。正因为这些原因,导致目前英特尔麦金塔电脑和那些第三方制作的通用二进制软件不能同步的现象。而苹果在硬件方面的转换比预定计划提前了好几个月,也是造成这种差距的另外一个因素。

 
用戶可以對四架構二進制程式進行進一步的兼容性執行設定

苹果公司的Xcode 2.4版本将通用二进制的概念进一步推广,支持创建四架构二进制(对应英特尔PowerPC中32位和64位平台),因此可以让一个执行程序在所有Mac OS X机器上运行。

通用应用程序 编辑

2005年蘋果電腦全球研發者大會以来,很多软件开发者都已经为其产品提供了通用二进制代码。到2008年12月,苹果官方网站列出了超过7500种通用应用程序。[1]

尽管如此,一些老舊的應用程式與遊戲还没有通用二进制版本,如暴雪星海爭霸。这些产品目前必须使用Rosetta编译器在英特尔麦金塔电脑上运行。在Adobe Photoshop推出適用於英特尔麦金塔电脑运行的版本前,該軟體要比在PowerPC处理器的麦金塔电脑,甚至比Microsoft Windows系统中运行还要缓慢。Adobe公司已经声明,不会发布舊产品的通用二进制版本,而是转而在未来发布的新版本中进行通用二进制化。[2] 微软也发布了类似的声明。[3]

2007年4月16日,Adobe发布了Adobe Creative Suite 3,该产品第一个使用通用二进制格式的版本[4]

在2008年3月,许多Mac OS X的程序已经被转换成了通用二进制格式,包括QuarkXPress,Apple的Final Cut StudioAdobe Creative SuiteMicrosoft Office 2008Shockwave Player(11版以后)。其余只有PowerPC版本的程序在Intel处理器的Mac上运行时必须使用Rosetta

随着Mac OS X 10.6 Snow Leopard的发布,由于系统仅支持Intel处理器等原因,部分程序已经去除了对PowerPC处理器的支持。

通用二进制2 编辑

苹果在2020年6月的WWDC中宣布了其将Mac迁移至苹果芯片的计划,[5]同时发布了通用二进制2,供开发者同时支持x86-64ARM64[6]整个迁移将持续“大约两年”。[7][8]

参见 编辑

注释 编辑

  1. ^ Macintosh Products Guide: Universal Applications. 苹果公司. [2008-12-22]. (原始内容于2008-08-20). 
  2. ^ (PDF). Adobe公司. [2006-10-14]. (原始内容 (PDF)存档于2006-12-11). 
  3. ^ Q&A: 在英特尔麦金塔电脑上使用微软产品(英文). 微软. [2006-10-14]. (原始内容于2008-01-05). 
  4. ^ 存档副本. [2013-10-18]. (原始内容存档于2012-06-26). 
  5. ^ Warren, Tom. Apple announces it will switch to its own processors for future Macs. The Verge. June 22, 2020 [June 22, 2020]. (原始内容于2021-11-17). 
  6. ^ Axon, Samuel. This is Apple’s roadmap for moving the first Macs away from Intel. Ars Technica. June 22, 2020 [June 23, 2020]. (原始内容于2020-06-23) (美国英语). 
  7. ^ Axon, Samuel; Amadeo, Ron. This is Apple’s roadmap for moving the first Macs away from Intel. ArsTechnica. June 22, 2020 [June 22, 2020]. (原始内容于2020-06-23). 
  8. ^ Apple announces Mac transition to Apple silicon. Apple Newsroom. 2020-06-22. (原始内容于2020-06-22). 

外部链接 编辑

  • 简体中文

通用二进制, 英語, universal, binary, 是苹果电脑公司提出的一种程序代码, 使程序能以本地程序的形式运行在使用powerpc或者英特尔微处理器, 的麦金塔电脑上, 在同一个程序包中同时为两种架构提供最理想的性能, 硬件方面, 苹果电脑公司已经将其产品线上的所有麦金塔电脑在2006年内转为英特尔处理器, 相对应的软件方面, 苹果最早是在2005年蘋果電腦全球研發者大會上就发布了的内容来适应这种转换, 当程序在操作系统中运行后, 将自动检测代码, 然后根据使用的架构自动选择合适的代码来执行, 因此实. 通用二进制 英語 Universal binary 是苹果电脑公司提出的一种程序代码 使程序能以本地程序的形式运行在使用PowerPC或者英特尔微处理器 x86 的麦金塔电脑上 在同一个程序包中同时为两种架构提供最理想的性能 硬件方面 苹果电脑公司已经将其产品线上的所有麦金塔电脑在2006年内转为英特尔处理器 相对应的软件方面 苹果最早是在2005年蘋果電腦全球研發者大會上就发布了通用二进制的内容来适应这种转换 当程序在操作系统中运行后 将自动检测通用二进制代码 然后根据使用的架构自动选择合适的代码来执行 因此实现无损的本地程序运行速度 目录 1 概要 2 通用应用程序 3 通用二进制2 4 参见 5 注释 6 外部链接概要 编辑通用二进制代码有两种基本类型 一种类型就是简单提供两种独立的二进制代码 一个用来对应x86架构 一个用来对应PowerPC架构 但是对于不熟悉代码的普通软件使用者来说 在购买和使用的时候 可能搞不清二者区别 另外一种类型就是只编写一个架构的代码 当另外一种处理环境时让系统自动调用模拟器运行 这会导致运行速度下降 一般是作为 通用二进制 或者 特别连编二进制 出现之前暂时使用的折衷办法 参见Rosetta 因为需要储存多种代码 通用二进制应用程序通常比单一平台二进制的程序要大 但是由于两种架构有共通的非执行资源 所以并不会达到单一版本的两倍之多 而且由于执行中只调用一部分代码 运行起来也不需要额外的内存 在1990年代中期从68k处理器转换到PowerPC的时候 苹果电脑公司使用了一个类似的技术 当时这些双平台可执行程序被称为 胖二进制 英语 fat binaries 因为他们文件容量比原来要大 目前 苹果公司的Xcode是唯一一个可以编译通用二进制代码的GUI工具 一个使用processor independence开发的简单应用程序只需要改动很少的部分就可以实现通用二进制 但是对于那些基于要发挥一种架构特长的复杂程序来说 修改代码通过连编就是一个比较复杂的工程 使用其他开发工具制作的应用程序需要额外的修改 正因为这些原因 导致目前英特尔麦金塔电脑和那些第三方制作的通用二进制软件不能同步的现象 而苹果在硬件方面的转换比预定计划提前了好几个月 也是造成这种差距的另外一个因素 nbsp 用戶可以對四架構二進制程式進行進一步的兼容性執行設定苹果公司的Xcode 2 4版本将通用二进制的概念进一步推广 支持创建四架构二进制 对应英特尔和PowerPC中32位和64位平台 因此可以让一个执行程序在所有Mac OS X机器上运行 通用应用程序 编辑2005年蘋果電腦全球研發者大會以来 很多软件开发者都已经为其产品提供了通用二进制代码 到2008年12月 苹果官方网站列出了超过7500种通用应用程序 1 尽管如此 一些老舊的應用程式與遊戲还没有通用二进制版本 如暴雪的星海爭霸 这些产品目前必须使用Rosetta编译器在英特尔麦金塔电脑上运行 在Adobe Photoshop推出適用於英特尔麦金塔电脑运行的版本前 該軟體要比在PowerPC处理器的麦金塔电脑 甚至比Microsoft Windows系统中运行还要缓慢 Adobe公司已经声明 不会发布舊产品的通用二进制版本 而是转而在未来发布的新版本中进行通用二进制化 2 微软也发布了类似的声明 3 2007年4月16日 Adobe发布了Adobe Creative Suite 3 该产品第一个使用通用二进制格式的版本 4 在2008年3月 许多Mac OS X的程序已经被转换成了通用二进制格式 包括QuarkXPress Apple的Final Cut Studio Adobe Creative Suite Microsoft Office 2008和Shockwave Player 11版以后 其余只有PowerPC版本的程序在Intel处理器的Mac上运行时必须使用Rosetta 随着Mac OS X 10 6 Snow Leopard的发布 由于系统仅支持Intel处理器等原因 部分程序已经去除了对PowerPC处理器的支持 通用二进制2 编辑苹果在2020年6月的WWDC中宣布了其将Mac迁移至苹果芯片的计划 5 同时发布了通用二进制2 供开发者同时支持x86 64和ARM64 6 整个迁移将持续 大约两年 7 8 参见 编辑英特尔 苹果电脑公司注释 编辑 Macintosh Products Guide Universal Applications 苹果公司 2008 12 22 原始内容存档于2008 08 20 基于 Intel 的 Mac支持 简体中文 PDF Adobe公司 2006 10 14 原始内容 PDF 存档于2006 12 11 Q amp A 在英特尔麦金塔电脑上使用微软产品 英文 微软 2006 10 14 原始内容存档于2008 01 05 存档副本 2013 10 18 原始内容存档于2012 06 26 Warren Tom Apple announces it will switch to its own processors for future Macs The Verge June 22 2020 June 22 2020 原始内容存档于2021 11 17 Axon Samuel This is Apple s roadmap for moving the first Macs away from Intel Ars Technica June 22 2020 June 23 2020 原始内容存档于2020 06 23 美国英语 Axon Samuel Amadeo Ron This is Apple s roadmap for moving the first Macs away from Intel ArsTechnica June 22 2020 June 22 2020 原始内容存档于2020 06 23 Apple announces Mac transition to Apple silicon Apple Newsroom 2020 06 22 原始内容存档于2020 06 22 外部链接 编辑苹果开发者关于通用二进制代码编程指南的介绍简体中文 取自 https zh wikipedia org w index php title 通用二进制 amp oldid 74223597, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。