Visual Studio 2010(Windows 7 64ビット版)で64ビットC++プロジェクトを作成しました。64ビットvC++プログラムが32ビットモードで動作するようです。
私は、64ビットアプリケーションを実行していたと思ったし、次のコードは、真を返しました:
もっと...
bool is64bit = (sizeof(void*)==8);
が、私は機能IsWow64Process
を呼び出した場合、それは FALSEを返さ奇妙なもの:
LoadLibrary()
の下にdllをロードするも- が
c:\windows\sysWow64\some.dll
の下にDLLをロードする働き(エラーコード193:some.dllは有効なWin32アプリケーションではありません)失敗します
すべてのこれらの障害は、アプリケーションが32ビットモード、 で実行されているが、これはお勧め真実に対してポインタのタイプは8バイトの長さです
私は混乱しています、どんな助けもありがとう!
+1 OPが説明するすべてのものは、64ビットOS上の64ビットアプリケーションと100%一致しています。 –
@DavidSchwartzうわー - WoW64を使用すると32bitが走っているので、人々は混乱してしまいます。これは、名前が与えられたとは逆です;) –
ニースの答え。 WoW64とsystem32の違いを理解すると、しばらく前から頭がおかしくなりました。 – nothrow