これを試してみてください:
$ cc -c test.c
$ objcopy -O binary test.o binfile
をあなたはそれがobjdump
で正しいだことを確認することができます
$ objdump -d test.o
test.o: file format pe-i386
Disassembly of section .text:
00000000 <_f>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 83 ec 04 sub $0x4,%esp
6: 8b 45 08 mov 0x8(%ebp),%eax
9: 0f af 45 08 imul 0x8(%ebp),%eax
d: 89 45 fc mov %eax,-0x4(%ebp)
10: 8b 45 fc mov -0x4(%ebp),%eax
13: 83 c0 02 add $0x2,%eax
16: c9 leave
17: c3 ret
とバイナリファイルと比較:
$ hexdump -C binfile
00000000 55 89 e5 83 ec 04 8b 45 08 0f af 45 08 89 45 fc |U......E...E..E.|
00000010 8b 45 fc 83 c0 02 c9 c3 |.E......|
00000018
2つの細かい回答が同時に送信されました。私は、どちらにチェックマークを付けるか分からない。 –
あなたの質問に直接答える[より最近の回答](純粋なコンパイラ/リンカーの回答)を受け入れることを検討できます(http://stackoverflow.com/a/23502466/1483676)。 – cubuspl42