如果您在计算机输出中考虑了特定的C代码行,那么如何在objdump输出中找到它.这是一个例子
if (cond) foo; bar();
我想看看栏是否按照我的意愿内联.或者你会使用一些替代工具而不是objdump?
您可以使用-S
选项(如"objdump -Sd a.out"
)启动objdump .如果编译代码的源文件可用,它将显示与汇编代码混合的源代码.
或者,您可以使用以下方式:
int main(void) { int a = 0; asm("#"); return a; }
变
.file "a.c" .text .globl main .type main, @function main: leal 4(%esp), %ecx andl $-16, %esp pushl -4(%ecx) pushl %ebp movl %esp, %ebp pushl %ecx subl $16, %esp movl $0, -8(%ebp) #APP # 3 "a.c" 1 # # 0 "" 2 #NO_APP movl -8(%ebp), %eax addl $16, %esp popl %ecx popl %ebp leal -4(%ecx), %esp ret .size main, .-main .ident "GCC: (GNU) 4.3.2" .section .note.GNU-stack,"",@progbits