我們可以很容易將一個golang程序轉(zhuǎn)變成匯編語言。
比如我寫了一個main.go:
package mainfunc g(p int) int { return p+1; }func main() { c := g(4) + 1 _ = c}
使用命令:
GOOS=linux GOARCH=386 go tool compile -S main.go >> main.S
我們就獲取了main.S是main.go的匯編版本。
"".g t=1 size=16 value=0 args=0x10 locals=0x0 0x0000 00000 (main.go:4) TEXT "".g(SB), $0-16 0x0000 00000 (main.go:4) NOP 0x0000 00000 (main.go:4) NOP 0x0000 00000 (main.go:4) FUNCDATA $0, gclocals·23e8278e2b69a3a75fa59b23c49ed6ad(SB)