#include<stdio.h>
a.c
int sum(int a,int b);
int main()
{
int x=10;
int y=20;
ret=sum(s,y);
return 0;
}
b.c
int sum(int a,int b)
{
int temp;
temp=a+b;
returnt temp;
}
这就是调用的时候的栈的图片,一目了然。
对于返回值,<=4 ,使用eax寄存器带回。
>4 <=8 使用两个寄存器, eax和edx带回。
那么对于>8字节的返回值,会产生临时量。即也就是在主调函数的栈上面产生临时量,并会把临时量的地址压入。