如下结构的代码
int main(void)
{
...
d = fun(a, b, c);
cout< ...
return 0;
}
调用fun()的过程大致如下:
main()
1).参数拷贝(压栈),注意顺序是从右到左,即c-b-a;
2).保存d = fun(a, b, c)的下一条指令,即cout<
3).跳转到fun()函数,注意,到目前为止,这些都是在main()中进行的; fun()=====
4).移动ebp、esp形成新的栈帧结构;
5).压栈(push)形成临时变量并执行相关操作;
6).return一个值;
7).出栈(pop);
8).恢复main函数的栈帧结构;
9).返回main函数; main()
24、 简述C++函数调用的过程?
于 2023-11-23 15:45:55 首次发布