函数的调用,需要包含以下三个基本属性
为方便表述,这里描述的背景是函数P调用函数Q
1)传递控制。P调用Q,程序计数器必须指向Q函数的第一行指令,Q函数执行完毕返回时,要把程序计数器设置为P调用Q后面那条指令的地址;
2)传递数据,P能够把若干参数传递给Q函数,Q函数能够向P返回一个值;
3)分配和释放内存,在开始时,Q可能需要为局部变量分配空间,在返回前,又必须释放这些空间。
C语言
-
int son(int a, int b)
-
{
-
int c = 0;
-
-
c = a + 2*b; //son函数执行一个相加操作
-
-
return c;
-
}
-
-
int main(int a)
-
{
-
int i = 1, j = 0;
-
-
j = son(a,i);
-
-
return j;
-
}
gcc -Og call.c -o call
汇编(由objdump实现:objdump -S call)
阅读(2338) | 评论(0) | 转发(0) |