如何查看为C函数生成的汇编代码?[副本]

dnph8jn4  于 2023-04-29  发布在  其他
关注(0)|答案(3)|浏览(120)

此问题已在此处有答案

How do you get assembler output from C/C++ source in GCC?(17回答)
How to remove "noise" from GCC/clang assembly output?(3个答案)
4年前关闭。
我需要查看为某些C函数生成的汇编代码。
使用g++编译器编译C代码时,应该使用哪些标志?

bzzcjhmw

bzzcjhmw1#

您可以添加-S标记来查看汇编代码。
例如对于文件TEST.c,使用gcc,do,

gcc TEST.c -S

clang也输出带有类似-S标记的汇编代码。
然后查找扩展名为.S的文件。

dsekswqp

dsekswqp2#

你可以使用命令objdump在一个二进制你必须看到汇编代码,在Linux

wz8daaqr

wz8daaqr3#

使用gccg++编译器,您可以使用-S标志来查看生成的汇编代码。

GNU C编译器文档

-S:编译完成后停止;不要组装。对于每个指定的非汇编程序输入文件,输出的形式是汇编程序代码文件。
默认情况下,源文件的汇编程序文件名是通过替换后缀.c.i等来生成的。,.s
不需要编译的输入文件将被忽略。
然后你必须在文件中查找函数的标识符(如果编译器没有内联它)。

相关问题