如果需要支援 PowerPC 和 Intel 兩種處理器,則需要為這兩種處理器建立 OS X 應用程式。
但是,我認為 Windows 程式並非如此。為什麼?
答案1
在消費性系統上,Windows 十多年來僅提供 x86 處理器變體(Windows 95 和 Windows 2000 僅適用於 x86 系統,不確定早期版本)。但有一些 Windows 版本可以在安騰架構,微軟宣佈在 Windows 8 中支援 ARM 處理器。
但所有 Windows 桌面系統都具有相同的基本 x86 CPU 架構。
直到 2006 年初,Mac OS X 都是 PowerPC 處理器獨有的,Apple 將其用於其 Mac 系統。隨後,蘋果在接下來的一年中逐漸將其電腦產品線改為英特爾 x86 處理器。 Mac OS X 10.4(2005 年初針對 PowerPC 發布,2006 年初針對 Intel 發布)是第一個同時支援 PowerPC 和 Intel/x86 變體的版本。
他們提供了一個兼容層,羅塞塔它允許在(較新的)英特爾處理器上執行(較舊的)PowerPC 程序,並且透過使用 Apple 的開發工具重新編譯,可以使許多(更簡單的)程序可用於這兩種處理器。其他使用其他開發工具(例如 Code Warrior)或一些較大的軟體產品(例如 Adobe 的軟體產品)創建的軟體需要一段時間才能在英特爾系統上本地使用。
Mac OS X 10.6(2009 年底)是第一個放棄 PowerPC 支援的版本。 Mac OS X 10.7(2011 年中)放棄了對 Rosetta 的支持,因此也放棄了 PowerPC 程式。
Mac 電腦架構的這種轉變也是現在可以在 Mac 上直接或使用虛擬化來運行 Windows 的原因。
雖然 Windows 基本上只在 x86 系統上運行,但 2006 年 Mac 系列發生了重大轉變。 。
答案2
這是由於不同的架構,如果他們做了類似的事情,那麼窗戶也是一樣的。
事實上,IBM 的 POWER 架構仍然存在,並為相當多的伺服器提供支持,這些伺服器再次需要與 x86(-64) Intel 架構不同的編譯作業系統。
答案3
Windows 確實需要考慮目標體系結構。查看 Visual Studio 中的選項 - Windows 目前需要針對 64 位元和 32 位元體系結構的不同建置。也適用於 ARM(即將推出)。在 Windows 95 的舊時代,他們也必須考慮 16 位元/32 位元差異。更早的時候,Windows 3 在 80 年代就必須處理 8088 系統。歸根結底,對於不同的指令集,發出到可執行檔中的機器碼必須有所不同。
這兩個系列還可以選擇針對舊版的作業系統。事情發生了變化,編譯器也必須隨之改變,我們也都需要遺留支援。