go语言如何使用rbp, rsp, 参数如何传递, 为什么go的返回值写在后面
为什么go的返回值写在后面
go一直被鼓吹语法比java好, 性能跟c一样. 让我们来看一看go语言各部分对应的二进制指令, 是如何实现的
现在的想法是写个一系列文章, 把go的所有语法的实现方式都分析一遍, 不知道会不会半途而废
本文所有的分析方法, 结论都是本人猜测的, 查各种文档太费时间了, 当然不是乱猜, 都是有依据的
先看栈回溯最基本的方法, rbp, rsp的使用情况, 现在的实验都是加了-N -l的, 简单化
rbp, rsp
随便写了go语言
package main
func boo(a int, b int) int {
return a + b
}
func aoo(a int, b int) int {
c := 10
return a + b + c + boo(1, 2)
}
func ma