从 GCC 中的 C/C 源获取汇编器输出
要分析编译过程,提取发出的汇编代码至关重要。一种有效的方法是在 GCC(或 G )中使用 -S 选项。
使用 -S 选项
通过指定 -S,预处理器将处理源文件,执行初始编译,但在调用汇编器之前停止。这允许您在进行汇编之前检查代码。为了提高可读性,请使用 -fverbose-asm。
gcc -S helloworld.c
默认情况下,输出文件将命名为 helloworld.s。要更改此设置,请使用 -o 选项。
gcc -S -o my_asm_output.s helloworld.c
分析现有对象文件
如果您只有一个对象文件,则可以使用 objdump 和 - -disassemble (-d) 选项。
objdump -S --disassemble helloworld > helloworld.dump
有关增强信息,请考虑使用 -rwC (对于符号重定位和名称重组)、-Mintel(适用于 x86 的 Intel 语法)和 -r(包括来自未链接对象的引用)。
objdump -drwC -Mintel -S foo.o | less
这些方法提供了有关编译过程的宝贵见解,使您能够分析您的 C/C 程序的汇编代码。
以上是如何使用 GCC 和 objdump 从 C/C 代码获取汇编程序输出?的详细内容。更多信息请关注PHP中文网其他相关文章!