>>51
なんでWOW64より互換性の高いLinux x86_64のx86実行機能があるのに、WOW64に
対応しないといけないの?
WOW64が作られた目的や仕組みわかってる?
WOW64はx86_64でwin32バイナリを動かすために作られたものではない
WOW64は、元々は、x86コードの実行性能が悪かったりx86互換機能が削除されている
Itaniumでwin32バイナリを動かすために作られたもの
これをx86_64版Windowsにも流用したので、x86_64版WOW64はWIN32APIレベルでの
互換性のみ対応しており、システムコールを直接呼び出すx86バイナリは実行できず、
WOW64のx86版ntdll.dll、kernel32.dll、gdi32.dll等システムコールを呼び出すものは、
対応するx86_64版のdllのAPIを呼び出すサンクとして実装されている
その代わり、WOW64はARM用CPUエミュレータを実装するだけでARMでもwin32バイナリを
実行するための仕組みとして使えるようになっている
WOW64の具体的な仕組みは
ttps://msdn.microsoft.com/ja-jp/library/aa384274%28v=vs.85%29.aspx
これに対して、LinuxやMacOSはx86_64に素直に対応しているので、システムコール等を
含めて全てのx86バイナリが実行でき、この仕組み上でx86版wineを動かせば全く問題なく
win32バイナリは動作するので、わざわざWOW64のような余計な仕組みは不要だし、
この仕組みを使わない方が不自然な形になってしまう
また、ARMでwin32バイナリを実行したいなら、qemuのユーザーモードを使うことで可能
ttp://www.slideshare.net/kapper1224/x86-emulation-on-arm-devices-and-wine-on-armhf-exageardesktop
今夜も Wine で乾杯! - 20本目 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/03/26(土) 10:47:23.67ID:5E6K/NAH
■ このスレッドは過去ログ倉庫に格納されています