Desmonte a saída do compilador Microsoft Visual Studio 2003

Estou vendo o que considero um comportamento estranho dos arquivos de objetos gerados pelas ferramentas do Microsoft Visual Studio 2003. ofile utilitário me diz:

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

Para objetos criados pelo assembler, mas para objetos provenientes de arquivos C, recebo apenas:

cfile.obj: data

Usando o Microsoftdumpbin utilidade e oobjdump Peguei o cygwin, posso desmontar o arquivo criado por assembly, mas não obtive resultados úteis em nenhum utilitário para os arquivos criados em C.

Eu tenho algumas perguntas relacionadas a essa diferença:

Qual é o formato do arquivo de objeto gerado pelo compilador MSVC2003?Como posso desmontar esse arquivo de objeto?

Estou particularmente interessado em obter a desmontagem na sintaxe da AT&T - estou fazendo uma porta de uma grande base de origem para que funcione com o GCC e gostaria de usar esse método como um atalho para algumas das rotinas de montagem em linha no diretório projeto.

Editar: Adicionando mais algumas informações.

Quando eu corrodumpbin em um desses arquivos não me dá resultados:

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

Comobjdump, dá:

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

Nos arquivos criados a partir da montagem, obtenho resultados razoáveis.

Editar novamente: adicionando informações da linha de comando.

Os arquivos de montagem são criados com uma linha de comando semelhante à seguinte:

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

ml quando executado por si só diz:

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

Os arquivos C são criados com o seguinte comando:

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

Há alguns-I e-D opções passadas paraml e paracl, mas eu os omiti por brevidade aqui. ocl opções são descritasaqui.

questionAnswers(1)

yourAnswerToTheQuestion