我在Windows 7 64位系统下,使用Visual Studio 2010创建了一个64位的C++项目;
我以为运行的是一个64位的应用程序,但以下代码返回了true:
bool is64bit = (sizeof(void*)==8);
但是如果我调用 IsWow64Process
函数,它会返回 FALSE...
更奇怪的事情:
- 调用
LoadLibrary()
加载位于c:\windows\system32\some.dll
下的 dll 可以正常工作 - 加载位于
c:\windows\sysWow64\some.dll
下的 dll 将失败(错误代码 193: some.dll 不是有效的 Win32 应用程序)
所有这些故障表明应用程序正在以32位模式运行,但实际上指针类型为8字节长度。
我很困惑,任何帮助将不胜感激!