如果给定两个PE对象文件,一个是32位的,另一个是64位的,我如何在不使用Unix实用程序的情况下区分它们,最好在命令行(cmd.exe或powershell)中进行。
C:\> "...\VC\bin\cl.exe" -c test.c -Fotest32.obj
C:\> "...\VC\bin\x86_amd64\cl.exe" -c test.c -Fotest64.obj
如果我安装msys2,
file
实用程序可以对其进行某种程度的理解:$ file test*.obj
test32.obj: Intel 80386 COFF object file, not stripped, 3 sections, [...]
test64.obj: data
"
file --version
版本为 5.28,但更新的版本 5.25 并没有提供更好的表现。msys2 没有提供 objdump.exe
,但是当复制到 Linux 上时,它可以正确地区分这两个文件:
$ objdump -a test64.obj
test64.obj: file format pe-x86-64
$ objdump -a test32.obj
test32.obj: file format pe-i386
有些比file
更好的东西,并且可以通过msys2的pacman获得,这也可能很有趣。
dumpbin
。 - Ben Voigt