如何判断 Windows 应用程序是否需要 64 位

如何判断 Windows 应用程序是否需要 64 位

在 64 位 Windows 版本中,有没有办法判断可执行文件是否需要 64 位才能启动?

我正在寻找一种比 Process Explorer 更好的方法来查找,最好是在启动之前。

编辑:那么我怎么知道应用程序需要 Win64 环境?

答案1

EXE 或 DLL 头中的处理器体系结构标志会告诉你。PEDUMP 实用程序 (http://www.wheaty.net/downloads.htm) 将转储该条目。在“文件头”部分中,查看“机器”。i386(32 位 Intel)标志为 0x014c。64 位 x86 标志为 0x8664。

也可以看看:https://stackoverflow.com/questions/197951/how-can-i-determine-for-which-platform-an-executable-is-compiled/198009

答案2

另一个简单的方法是使用 PESnoop:

C:\>pesnoop photoshop.exe /pe_dh


-------------------------------------------------------------------------------
 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------

Dump of file: photoshop.exe...
Modus:        64bit Portable Executable Image...
...

可以在这里获取 PESnoop:http://www.prestosoft.com/download/plugins/PESnoop.zip

答案3

对于 GUI 爱好者来说,最简单的方法就是安装这个 Explorer 扩展:

http://www.silurian.com/win32/inspect.htm

答案4

一些供应商还会在文件中放入元信息,以表明它是 64 位二进制文​​件。获取 .exe 的属性并查看版本选项卡。例如,SQL Server 2005 在描述中显示“SQL Server Windows NT - 64 位”。在“其他版本信息”下的字段中,它还有其他信息表明 64 位。不过,这取决于供应商。

相关内容