我用 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 程序的人类可读的汇编指令?
最佳答案
这两者都为您提供了人类可读的汇编,只是 Go 工具链使用 Plan 9 汇编语法,这对于未经训练的人来说有点奇怪。使用 GNU binutils 中的 objdump
等工具来获得更熟悉的语法。
关于assembly - 如何获得一个简短的 Go 程序的汇编输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43858356/