函数的本质

函数的参数和返回值

ARM64下,函数的参数是存放在X0到X7(W0到W7)这8个寄存器里面的.如果超过8个参数,就会入栈.
函数的返回值是放在X0 寄存器里面的.

函数的本质_第1张图片
图片.png

超过8个参数的情况
如果超过8个参数,就会入栈。

int sum(int a,int b,int c,int d,int e,int f,int g,int h,int i){
    return a + b + c + d + e + f + g + h + i;
}

sum(1,2,3,4,5,6,7,8,9);

函数的本质_第2张图片
图片.png

函数的局部变量

函数的局部变量放在栈里面!

int funcB(int a){
    int b = 1;
    return a+ b;
}
函数的本质_第3张图片
图片.png

你可能感兴趣的:(函数的本质)