Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
64 ビット OS を実行している 64 ビット システムで 32 ビット プログラムを実行したい場合、Ubuntu は 32 ビット互換ライブラリ、ia32-libs を提供します。他の OS でも同様の互換性ライブラリが提供されると思います。
知りたいのですが、互換性を提供するために 32 ビット互換ライブラリは正確には何をしているのでしょうか?
実際には何もしません。呼び出したいライブラリ関数の 32 ビット実装が含まれているだけです。たとえば、呼び出す関数が適切な命令セットにあり、適切な ABI を使用するには、このようなライブラリが必要です。
64 ビット システムで 32 ビット プロセスを実行すると、オペレーティング システムは、コンテキストを切り替えてプログラムを実行する前に、プロセッサを 32 ビット モードにします。