如何查看gcc(任何风格)编译器为C / C ++程序生成的汇编代码?

时间:2009-08-30 21:06:29

标签: c++ c assembly code-generation

我正在尝试优化大量的乘法和指针算术,并希望看到编译器在我放入优化标志时所做的事情。

- 编辑 -

如何将其限制为特定功能或代码块?

- Edit_2 -

如何让gcc生成一个不那么详细的汇编代码?

4 个答案:

答案 0 :(得分:38)

-S开关添加到命令行。

编辑:不要忘记它会将程序集放到您在-o开关下指定的文件中。

答案 1 :(得分:9)

  

如何将其限制为特定功能或代码块?

将该函数放在单独的源文件中(并为该源文件使用不同的命令行参数)。

答案 2 :(得分:5)

您也可以在gdb之类的调试器中运行该程序,并使用反汇编视图。在gdb中,您可以使用命令disass/m查看与当前位置上的C代码混合的程序集。

答案 3 :(得分:1)

您可以在Visual Studio调试器中的断点处停止编程并执行“显示汇编”,甚至一次只执行一条指令。