如何从GCC的C/C+源代码中获得汇编语言输出?

如何从GCC的C/C+源代码中获得汇编语言输出?

一个人是怎么做到的?

如果我想分析某样东西是如何编译的,我将如何获得发出的程序集代码?


潇潇雨雨
浏览 901回答 3
3回答

三国纷争

使用-SGCC(或g+)选项。gcc -S helloworld.c这将在helloworld.c上运行预处理器(CPP),执行初始编译,然后在汇编程序运行之前停止。默认情况下,这将输出一个文件。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获得的详细信息。
打开App,查看更多内容
随时随地看视频慕课网APP