OS Xアプリは、PowerPCとIntelの両方でビルドする必要があります(両方のプロセッサーをサポートする必要がある場合)。
しかし、これはWindowsプログラムの場合には当てはまらないと思います。どうして?
OS Xアプリは、PowerPCとIntelの両方でビルドする必要があります(両方のプロセッサーをサポートする必要がある場合)。
しかし、これはWindowsプログラムの場合には当てはまらないと思います。どうして?
回答:
コンシューマシステムでは、Windowsはx86プロセッサのバリアントで10年以上しか使用できませんでした(Windows 95およびWindows 2000はx86システムでのみ使用可能で、以前のバージョンについては不明です)。しかし、Itaniumアーキテクチャで実行されるWindowsエディションがあり、MicrosoftはWindows 8でのARMプロセッサのサポートを発表しました。
ただし、すべてのWindowsデスクトップシステムは、同じ基本的なx86 CPUアーキテクチャを備えています。
Mac OS Xは、2006年初頭まで、AppleがMacシステムに使用していたPowerPCプロセッサ専用でした。その後、Appleは次の年にコンピューターのラインアップをIntel x86プロセッサーに徐々に変更しました。Mac OS X 10.4(2005年初頭にPowerPC用にリリースされ、2006年初頭にIntel用にリリースされた)は、PowerPCとIntel / x86の両方のバリエーションで利用可能な最初のリリースでした。
彼らは互換レイヤー、(新しい)Intelプロセッサーで(古い)PowerPCプログラムの実行を許可するRosettaを提供し、Appleの開発者ツールを使用して再コンパイルすることで、多くの(より単純な)プログラムを両方で利用できるようになりました。他の開発者ツール(Code Warriorなど)を使用して作成されたものや、Adobeのようないくつかのより大きなソフトウェア製品は、Intelシステムでネイティブに利用できるようになるまでしばらく時間がかかりました。
Mac OS X 10.6(2009年後半)は、PowerPCサポートを廃止した最初のリリースです。Mac OS X 10.7(2011年半ば)では、Rosettaのサポートが廃止されたため、PowerPCプログラムが廃止されました。
Mac用のコンピューターアーキテクチャのこの切り替えも、直接または仮想化を使用してWindowsをMacで実行できるようになった理由です。
Windowsは基本的にx86システムでのみ実行されていましたが、2006年にはMacのラインナップに大きな切り替えがありました。それはごく最近だったため、多くのソフトウェア開発者はこれらのシステムのサポートを継続していますが、Appleはハードウェアとプログラムの両方のサポートを徐々に廃止しましたそれ。
Windowsでは、ターゲットアーキテクチャを考慮する必要があります。Visual Studioのオプションを見てください。現在、Windowsには64ビットと32ビットのアーキテクチャ用に異なるビルドが必要です。また、ARM用(今後)。また、Windows 95の昔は、16ビットと32ビットの違いも考慮しなければなりませんでした。さらに以前は、Windows 3は80年代に8088システムを処理する必要がありました。実行可能ファイルに出力されるマシンコードは、命令セットごとに異なる必要があります。
両方の系統には、OSの古いバージョンを対象とするオプションもあります。状況は変わりますが、コンパイラーもそれに合わせて変更する必要があり、私たち全員がレガシーサポートも必要としています。