知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个Golang开发实战,手把手教大家学习《如何在GO中生成混合源代码和汇编列表?》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
问题内容我知道如何获得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
...
解决方案
假设我们使用 go build -o o.exe
从 Go 源代码构建了 o.exe
可执行文件。
以下命令打印 strconv.Atoi
函数的混合源代码+反汇编代码:
gdb -batch -ex“设置反汇编风味英特尔”-ex“反汇编/s'strconv.Atoi'”o.exe
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。