我用Go编写了这个程序:
package main
func add(a, b int) int {
return a + b
}
func main () {
add(1,2)
}
出于好奇心的考虑,我想看看这个程序在汇编中的样子。
我找到了几种从Go程序输出汇编指令的方法,主要是:
go tool compile -S file.go > file.S
或者
go tool objdump executable > disassembly
但似乎这两者产生的输出完全不同。
如何打印构成我的Go程序的人工可读汇编指令?
答案 0 :(得分:3)
这两个都为你提供了人类可读的装配,只是Go工具链使用了Plan 9的汇编语法,这对于未经训练的人来说有点奇怪。使用GNU binutils中的objdump
之类的工具来获得更熟悉的语法。