Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从FileHeader.Machine判断比特率_C_Dll_32bit 64bit_Portable Executable_Dbghelp - Fatal编程技术网

从FileHeader.Machine判断比特率

从FileHeader.Machine判断比特率,c,dll,32bit-64bit,portable-executable,dbghelp,C,Dll,32bit 64bit,Portable Executable,Dbghelp,注意:1我在Windows7 64位操作系统中工作,2我已经看过了 我正在尝试编写一个C程序来检查DLL的位。使用Windows API和调试帮助库,我能够访问NT头的FileHeader.Machine 我的程序似乎适用于32位DLL,但错误地将C:\Windows\System32\KERNEL32.DLL识别为32位 我已经研究过Dependency Walker,但是在32位版本和64位版本的Dependency.exe之间我得到了不一致的结果-C:\Windows\System32\K

注意:1我在Windows7 64位操作系统中工作,2我已经看过了

我正在尝试编写一个C程序来检查DLL的位。使用Windows API和调试帮助库,我能够访问NT头的FileHeader.Machine

我的程序似乎适用于32位DLL,但错误地将C:\Windows\System32\KERNEL32.DLL识别为32位

我已经研究过Dependency Walker,但是在32位版本和64位版本的Dependency.exe之间我得到了不一致的结果-C:\Windows\System32\KERNEL32.DLL被32位版本的Dependency.exe识别为32位CPU:x86,但被64位版本识别为64位CPU:x64


FileHeader.Machine不是要走的路吗?64位版本的Dependes.exe如何能够将DLL识别为64位?

您已经链接到答案,您的程序正在加载c:\windows\syswow64\kernel32.DLL。所以改用64位版本。对不起,我还是很困惑。我的程序在C:\Windows\System32\kernel32.dll上使用,并从中创建映射。Windows是否以某种方式打开了C:\Windows\SysWOW64\KERNEL32.DLL?哇。在清除了整个系统后,我停止了阅读答案。SysWOW64混乱。谢谢