参考:《A Quick Guide to Go's Assembler》 - 知乎 (zhihu.com)
1. 使用go build命令
go build -gcflags=-S main.go
注意:此方式不能在后面使用管道命令,不知道是build的限制还是gcflags的限制
2. 使用go tool compile命令
go tool compile -S main.go
但是可能会有如下提示:
could not import fmt (file not found)
见:cmd/compile: go tool compile could not import fmt · Issue #58629 · golang/go (github.com)
3. 使用go tool objdump命令
go build main.go // 先编译成二进制文件
go tool objdump -S main > main.asm // 在对二进制文件反汇编