废话少说,直接上代码演示
![](https://img.haomeiwen.com/i2194628/0793dfc62da55060.png)
![](https://img.haomeiwen.com/i2194628/9374e581df2ec904.png)
参数a,b放入w0,w1寄存器中
![](https://img.haomeiwen.com/i2194628/de534ef24153221e.png)
总结,参数放在寄存器中,通过x0-x7(w0-w7)传入,x0(w0)寄存器作为返回值返回。
通过学习原生的代码,我们自定义自己的函数suma;
![](https://img.haomeiwen.com/i2194628/4fee82a4fe362d8d.png)
![](https://img.haomeiwen.com/i2194628/a415e42951d16311.png)
![](https://img.haomeiwen.com/i2194628/f382f53fa77c987a.png)
函数的参数和返回值
ARM64下,函数的参数是存放在x0到x7(w0到w7)这8个寄存器里面的,如果超过8个参数就会入栈。函数的返回值是放在x0寄存器里面的,一般iOS参数不要超过6个,因为oc中有俩隐藏参数,self,_cmp 参数。
函数的局部变量
函数的局部变量放在栈里面
网友评论