<分区>
在 Linux 系统上是否可以使用 GCC 或 clang 等 C 编译器生成将 C 代码映射到汇编输出的汇编输出(以便可以查看 C 代码中代表的汇编 block )?我试图了解启用 O3 后一段 C 代码的输出是什么,但由于缺乏汇编知识,我遇到了困难。
<分区>
在 Linux 系统上是否可以使用 GCC 或 clang 等 C 编译器生成将 C 代码映射到汇编输出的汇编输出(以便可以查看 C 代码中代表的汇编 block )?我试图了解启用 O3 后一段 C 代码的输出是什么,但由于缺乏汇编知识,我遇到了困难。
最佳答案
使用 -S
选项和 gcc
生成汇编文件输出。
gcc -S file.c
编辑:
如果您想并排查看assembly
输出和C
代码,请使用gdb -tui a.out
:
(gdb) layout split
layout split命令将窗口分成两部分-一部分显示源代码,另一部分显示相应的程序集。
关于c - 将程序集映射到 C 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781421/