Учитывая два PE объектных файлов из cl.exe
, один 32bit и 64bit один, как я могу сказать одно от другого без прибегая к UNIX утилиты и, желательно, на командной строке (cmd.exe или powershell)?Отличить 32bit из объектного файла 64bit PE генерируемого cl.exe (Visual Studio C++)
C:\> "...\VC\bin\cl.exe" -c test.c -Fotest32.obj
C:\> "...\VC\bin\x86_amd64\cl.exe" -c test.c -Fotest64.obj
Если я установлю msys2 утилита file
может sortof смысл его:
$ 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
и доступна через Pacman msys2, также могла быть интересно.
Инструмент Microsoft является 'dumpbin'. –
Двусторонний дубликат: http://superuser.com/q/358434/29943 –