在64位Windows版本中,有没有一种方法可以判断可执行文件是否需要64位启动?
我正在寻找比Process Explorer更好的方法来找出,最好在启动之前。
编辑:那么我怎么会知道一个应用程序需要Win64环境?
EXE或DLL头中的处理器体系结构标志会告诉你。 PEDUMP实用程序( http://www.wheaty.net/downloads.htm )将转储该条目。 在“文件头”部分,查看“机器”。 i386(32位英特尔)标志是0x014c。 64位x86标志是0x8664。
另请参阅: https : //stackoverflow.com/questions/197951/how-can-i-determine-for-which-platform-an-executable-is-compiled/198009
另一个简单的方法是使用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
而对于你的GUI爱好者来说,绝对最简单的方法就是安装这个Explorer扩展:
一些供应商也会把元信息放在文件中,表明它是一个64位的二进制文件。 获取.exe的属性并查看版本选项卡。 例如,SQL Server 2005在说明中说“SQL Server Windows NT – 64位”。 在“其他版本信息”下还有其他信息表示64位字段。 然而,这将取决于供应商。