07/09/05 10:32:10 EkGqV+wZ0
>>458
URLリンク(ja.wikipedia.org)
Windowsの64ビットABIは、そのままWin32の32ビットABIを64ビットに拡張した物である。
従って、64ビットABIのアプリケーションは8TBのアドレス空間を独占的に使える様になっている。
ここに一つの問題点がある。32ビット ABIのコードを格納可能な仮想空間下位4GBが
64ビットABIに独占されてしまった事である。この為、32ビットABIを格納する場所が無く、
32 ビットアプリケーションはもとより、DLLやOCXをロードして呼び出す事も出来なくなってしまった。
事実マイクロソフトは、32ビットABIのコードと64ビットABIのコードを相互に呼び出す事を禁止している
(thunkによって間接的な呼び出しは可能であるが、x64アーキテクチャで本来可能であったシームレスな
32ビットコードと64ビットコードの相互呼び出し機能は全く生かされていない)