昨日、友人の1人(Windowsユーザー)と熱い議論を交わしました。彼はワインは単なるエミュレーターであると言いました。「ワインはエミュレーターではない」と読まれたワインはないと言った。それから彼は私にWineHQのwikiページを含む多くのリンクをくれました。「ワインはそんなエミュレータじゃない」と書いてある。
それで、Wineがエミュレータであるかどうかを尋ねたいのですが、なぜそれ自体が「Wineはエミュレータではない」と呼ばれるのですか?
昨日、友人の1人(Windowsユーザー)と熱い議論を交わしました。彼はワインは単なるエミュレーターであると言いました。「ワインはエミュレーターではない」と読まれたワインはないと言った。それから彼は私にWineHQのwikiページを含む多くのリンクをくれました。「ワインはそんなエミュレータじゃない」と書いてある。
それで、Wineがエミュレータであるかどうかを尋ねたいのですが、なぜそれ自体が「Wineはエミュレータではない」と呼ばれるのですか?
回答:
Windowsのプログラムは、Microsoft Windowsに属する標準ライブラリを広範囲に使用します。これらのライブラリは、Wineで書き直されて実装されているため、ほとんど同じことができます。プログラムが適切に作成され、標準ライブラリが多いほど、プログラムがWineで機能する可能性が高くなります。
プログラムのコードは、最初にWindowsライブラリを呼び出すために検査されます。これらの呼び出しは、Wineのライブラリが呼び出されるように変換されます。その後、プログラムのコードはフルスピードで実行されました。エミュレートされたコードはありませんが、ライブラリへの呼び出しのみが変換されます。
したがって、理論的には。プログラムはMicrosoft Windowsと同じくらい速く動作するはずです。実際には、翻訳が行われるため、プログラムが遅くなる可能性があります。ただし、Wineのライブラリは単純であり、Linuxではディスクアクセスが高速であることが多いため、プログラムがより高速に動作する可能性があります。
LinuxはOpenGLを使用しているため、OpenGLを使用するWindowsプログラムはWineでよく機能します。LinuxはDirectXを使用しません。ただし、DirectX呼び出しはWineによってOpenGL呼び出しに変換できるため、DirectXゲームはWineで機能します。