我知道如何获得 Go 程序的汇编表示,但是如何在 Go 中获得这样的混合列表?
0:helloworld.c **** #include <stdio.h>
1:helloworld.c ****
2:helloworld.c **** int main()
3:helloworld.c **** {
19 .loc 1 4 0
20 .cfi_startproc
21 0000 55 pushq %rbp
22 .LCFI0:
23 .cfi_def_cfa_offset 16
24 0001 4889E5 movq %rsp, %rbp
25 .cfi_offset 6, -16
26 .LCFI1:
27 .cfi_def_cfa_register 6
4:helloworld.c **** printf("Hello world!\n");
28 .loc 1 5 0
29 0004 BF000000 movl $.LC0, %edi
29 00
...
最佳答案
假装我们 build 了o.exe
使用 go build -o o.exe
从 Go 源执行.
以下命令打印 strconv.Atoi
的混合源+反汇编功能:gdb -batch -ex "set disassembly-flavor intel" -ex "disassemble /s 'strconv.Atoi'" o.exe
关于go - 如何在 GO 中生成混合源和汇编列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464335/