C/C++代码的等效asm代码

nei*_*ion 2 c c++ ubuntu assembly

可能重复:
如何从gcc中的C/C++源获得汇编程序输出?

你好,那里!

我有一个C和C++源代码,我想在汇编代码中看到.如何为这些生成等效的asm代码?我应该使用什么工具?或者是否已经可以使用gcc编译器等工具?然后我应该执行什么命令?我更喜欢Linux之上的工具,尤其是Ubuntu.

提前致谢!

Eva*_*ran 12

gcc -S x.c
Run Code Online (Sandbox Code Playgroud)

这应该产生gcc认为等同于你的代码的程序集.但要注意,优化器可以做一些非常棘手的事情,这些事情很难看出在功能上等同于你的代码.特别是在c ++中,优化器如此依赖于内联和类似的东西.

从gcc手册页:

-S

在编译阶段之后停止; 不要组装.对于指定的每个非汇编器输入文件,输出采用汇编程序代码文件的形式.默认情况下,源文件的汇编程序文件名是通过将后缀.c,.i等替换为.s来完成的.

忽略不需要编译的输入文件.