Windowsでは、x64バージョンのオペレーティングシステムはx86とx64の両方のバイナリを実行できます。
ただし、x86 Windowsではx86バイナリのみを実行できます。デフォルトのCPUが64ビットをサポートしていても、x64バイナリを実行することはできません。
Linuxのx86 / x64バイナリ互換性の状況は同じですか?それとも互換性が多いか少ないのですか?
答え1
GNU/Linux
これは、そのディストリビューションと32ビット互換性のために関連パッケージがインストールされているかどうかによって異なります。関連機能はしばしば「」と呼ばれますmultilib
。これはLinuxカーネルのサポートにも依存します。 Linuxカーネルをコンパイルするときは、32ビットバイナリのサポートを無効にできます。人気のあるバージョンDebian
とUbuntu
ディストロバージョンの両方が32ビット互換性をサポートし、以前はサポートされていなかった一部のディストロはこれを追加しました(例Arch
:)。
もちろん、上記のタスクには、64ビットカーネルと64ビットサポートCPUで32ビットプログラムを実行するタスクが含まれます。 CPUが64ビットをサポートしていても、Linuxは32ビットカーネルで64ビットアプリケーションを実行できません。 CPUが64ビットをサポートしていない場合、エミュレーションなしでは64ビットアプリケーションを実行できません。