一般的に知られてませんが、Windows 64bit 上のプロセスでは
32bit の dll は動きません。
32bit 上のプロセスでのみ 32bit dll が動作します。
これはどーいう事かと言うと 32 bit 空間のアドレスと 64bit のアドレス空間では
互換性がないため、そもそも共存できないのです。
dll と言うのは、exe にロードされるプログラム(データだけの場合もあります)
なので、アドレス空間は同じである必要があります。
これは plugin 形式を取っているプロセスが 64 bit の場合 32bit の dll は
一切動作しないことも 意味をします。
当然ながら Windows7 64bit でも、32bit プロセスで動作しているならば、
32bit の dll を動作させる事ができます。
この事もあり「exe 自体が 64bit に移行する」というのには、まだまだ
時間がかかるでしょう。
これは Windows の仕様…というよりハードウェアの仕様になりますね。
0 コメント:
コメントを投稿