Разберите вывод компилятора Microsoft Visual Studio 2003

Я вижу странное поведение выводимых объектными файлами инструментов Microsoft Visual Studio 2003.file утилита говорит мне:

asmfile.obj: 80386 COFF executable not stripped - version 30821

Для объектов, созданных ассемблером, но для объектов из файлов C, я получаю просто:

cfile.obj: data

Используя Microsoftdumpbin утилита иobjdump Я получил от cygwin, я могу разобрать файл, собранный из сборки, но я не получаю никаких полезных результатов ни от одной утилиты для файлов, собранных на C.

У меня есть пара вопросов, связанных с этой разницей:

Какой формат объектного файла генерируется компилятором MSVC2003?Как я могу разобрать этот объектный файл?

Я особенно заинтересован в получении разборки в синтаксисе AT & T - я делаю порт с большой исходной базой, чтобы он работал с GCC, и я хотел бы использовать этот метод в качестве ярлыка для некоторых встроенных процедур сборки в проект.

Изменить: добавив еще немного информации.

Когда я бегуdumpbin на одном из этих файлов не дает мне никаких результатов:

C:\> dumpbin /disasm Func.obj
Microsoft (R) COFF/PE Dumper Version 7.10.6030    
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file Func.obj

FileType: ANONYMOUS OBJECT

Сobjdump, это дает:

$ objdump -d Func.obj
objdump: Func.obj: File truncated

На файлах, собранных из сборки, я получаю разумные результаты.

Редактировать снова: добавление информации о командной строке.

Файлы сборки создаются с помощью командной строки, похожей на следующую:

ml -nologo -W3 -WX -c -coff -FoAssemblyFile.obj -Zi -Cx AssemblyFile.asm

ml когда выполнено само по себе говорит:

Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000.  All rights reserved.

Файлы C создаются с помощью следующей команды:

cl -nologo -W4 -WX -Gs32768 -GX -Gy -c -FdCFile.pdb -FoCFile.obj -Zi 
   -Gm -O1 -Oy- -Gy -GL -X CFile.c

Есть некоторые-I а также-D варианты переданыml и кcl, но я здесь опущен для краткости.cl варианты описаныВот.

Ответы на вопрос(1)

Ваш ответ на вопрос