函数的调用,需要包含以下三个基本属性
为方便表述,这里描述的背景是函数P调用函数Q
1)传递控制。P调用Q,程序计数器必须指向Q函数的第一行指令,Q函数执行完毕返回时,要把程序计数器设置为P调用Q后面那条指令的地址;
2)传递数据,P能够把若干参数传递给Q函数,Q函数能够向P返回一个值;
3)分配和释放内存,在开始时,Q可能需要为局部变量分配空间,在返回前,又必须释放这些空间。
C语言


点击(此处)折叠或打开

  1. int son(int a, int b)
  2. {
  3.     int c = 0;

  4.     c = a + 2*b; //son函数执行一个相加操作

  5.     return c;
  6. }

  7. int main(int a)
  8. {
  9.     int i = 1, j = 0;

  10.     j = son(a,i);

  11.     return j;
  12. }
gcc -Og call.c -o call
汇编(由objdump实现:objdump -S call)

C语言的汇编实现(五)函数-LMLPHP

09-04 22:33
查看更多