如何获得短期Go程序的汇编输出?

时间:2017-05-08 22:43:25

标签: assembly go

我用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程序的人工可读汇编指令?

1 个答案:

答案 0 :(得分:3)

这两个都为你提供了人类可读的装配,只是Go工具链使用了Plan 9的汇编语法,这对于未经训练的人来说有点奇怪。使用GNU binutils中的objdump之类的工具来获得更熟悉的语法。