質問: 64ビットバージョンから32ビットプログラムを作成するにはどうすればよいですか? 現在32ビットの市場は小さいため、多くのソフトウェアは64ビットマシンのみをサポートしています。ただし、32ビットマシンで立ち往生している人にとっては、これは新しいバージョンをインストールできないことを意味し、セキュリティの問題につながる可能性があります。一例は firefox/waterfox です。一般に、64ビットインストール(.exe、.msi)から32ビットプログラムを作成する方法はありますか?詳細: ブラウザのセキュリティを優先する必要があるのはなぜですか?
回答: プログラムを32ビットターゲットに再コンパイルしますあなたの質問は64ビットのバイナリを持っていて32ビットのバイナリとして実行したいと思っていましたが、これは非常に難しく、最終的には エミュレータを使用 またはその他の複雑な問題が発生します。ただし、(firefoxの場合のように)高水準言語の元のコードがある場合は、おそらくそれを32ビットコードにコンパイルできます。ここで、私は lpchip回答 の最後の段落に敬意を表して同意しませんプログラマーはx86アーキテクチャの限界を破ろうとしているのでx64プログラムを作成します。これは、デフォルトのターゲットであるため、ネイティブアーキテクチャと一致するため、またはユーザーが十分なramを持っている場合に、より多くのメモリを使用できるというメリットを享受するために行うことができます。32ビットのものから作られた64ビットカウンターのようないくつかの機能は、ネイティブレジスタを使用するよりもわずかに遅くなります。プログラムが64ビットに固有の機能(インライン64ビットアセンブリなど)を使用している場合、それは機能しません。責任は主に、使用されている高級言語でのコンパイラーのサポートにあります(そして、コードは適切に記述されているため、最初から非常に移植性があります)。firefox/waterfoxの構築に焦点を当てると、初心者のための単純な努力ではありません(現在のブラウザは独自のosのようなものです)。firefoxquantumでは、さらにrustコンパイラが必要です。それでも、linuxディストリビューションは依然としてfirefoxの32ビットバージョンをコンパイルしており、32ビットで実行できることを示しています。