对GCC(或g++)使用-S
选项.
gcc -S helloworld.c
这将在helloworld上运行预处理器(cpp).c、 执行初始编译,然后在汇编程序运行之前停止.
默认情况下,这将输出一个文件helloworld.s
.仍然可以使用-o
选项设置输出文件.
gcc -S -o my_asm_output.s helloworld.c
当然,这只有在您有原始来源的情况下才有效.
如果只有结果对象文件,另一种方法是使用objdump
,方法是设置--disassemble
选项(缩写形式为-d
).
objdump -S --disassemble helloworld > helloworld.dump
如果为目标文件启用了调试选项(编译时为-g
),并且文件未被剥离,则此选项效果最好.
运行file helloworld
将为您提供一些有关使用objdump将获得的细节级别的信息.