海湾合作委员会:编译汇编与澄清的代码对应?

时间:2010-06-14 10:46:46

标签: c++ gcc assembly

当你进入VS中的调试器并打开反汇编窗口时,每个汇编片段都显示在它的相应代码段下面(或多或少)。带-S的GCC仅输出精简组件。

GCC中是否有选项显示与原始代码的对应关系?

源代码是C ++。

4 个答案:

答案 0 :(得分:5)

使用gcc -g编译代码,然后可以使用objdump -S yourfile进行反汇编。这将为您提供穿插源的反汇编。

答案 1 :(得分:3)

如果您询问有关调试的信息,请在gdb中使用带有/ m(混合)标志的disassemble命令:

(gdb) disas /m main
如果代码可用并且使用-g标志进行编译,

将使用汇编程序中的C ++代码反汇编main。

答案 2 :(得分:1)

反而反汇编对象。通常由-S给出的代码正是gcc为您的代码生成的代码,没有启动代码或链接器组合在一起的其他内容。 补充:当然在对象中有调试信息会有很多帮助。

答案 3 :(得分:1)

gcc yourFile.C -S -fverbose-asm

不完全是你想要的,但比没有任何东西更有用。