Bạn có thể bắt đầu objdump bằng cách sử dụng tùy chọn -S
(như "objdump -Sd a.out"
). Nó sẽ hiển thị mã nguồn được trộn lẫn với mã bộ mã hóa, nếu các tập tin mã nguồn được biên dịch từ có sẵn.
Ngoài ra, bạn có thể sử dụng các cách sau:
int main(void) {
int a = 0;
asm("#");
return a;
}
trở thành
.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
Nguồn
2008-11-12 03:30:51
-S ngụ ý -d. Bạn không cần phải chỉ định cả hai. :-P –
Ồ, đúng vậy. Tho Tôi thích được tiết lộ. Người ta có thể tự hỏi liệu -D hay -d là mặc định. Điều này làm cho nó chết não an toàn: p –