c - 将程序集映射到 C 源代码

标签 c assembly compiler-construction

<分区>

在 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/

相关文章:

c - gSOAP:如何在 C 中比较两个值结构(带有 JSON 内容)?

c - 函数原型(prototype)过滤器

intmax_t 可以容纳 size_t 吗?

assembly - 需要对我的 SSE/Assembly 尝试进行一些建设性的批评

linux - 如何在 Linux 上从头开始进行反汇编?

c++ - 禁用 g++ 的返回值优化

c - 在 Windows 上用 C 获取文件属性的正确方法是什么?

c++ - 如何定位 WinRT 异步方法调用中出现错误的位置?

compiler-construction - 三星Bada的编译器是什么?

compiler-construction - 新动态编程语言的后端选择?