2011-10-03 60 views
1

在MacOS下,您可以更改32位可執行文件的一個名稱,即「在32位模式下打開」。它不直接工作嗎?它可以工作,但對於某些應用程序,您必須選擇此選項才能順利運行。這在Safari中很常見,一些附加組件需要32位環境。在32位模式下打開

我不明白是什麼讓一個32位可執行文件無法直接在64位上運行,那麼在32位模式下究竟發生了什麼變化?

+0

如果您的32位應用程序從操作系統請求數據並取回64位指針,您會發生什麼? – Gabe

+0

截斷,我猜。對不起@加貝 - 聽起來很明顯,呃?但它沒有發生在我身上。 – sidyll

回答

3

這真的只是歷史的興趣。在從32位到64位的過渡時期,許多應用程序被構建爲通用的,其中3個或有時甚至4個體繫結構合併爲一個胖二進制(又稱「通用二進制」),通常爲ppc,x86和x86-64。在32位x86環境中,將使用32位x86可執行文件。在64位x86-64位環境中,將使用64位可執行文件。但是,在某些情況下,即使在64位x86-64環境中,您可能也希望使用32位x86可執行文件,例如,在這種情況下,您提到了舊版插件只有32位,並且不能與64位可執行文件一起使用。因此,選擇以32位模式啓動應用程序。

顯然,32位應用程序使用32位API並具有32位地址空間,而64位應用程序具有64位地址空間並使用64位API。