函数调用过程中栈到底是怎么压入和弹出的

更新时间:02-09 教程 由 傲骨 分享

函数调用过程中栈到底是怎么压入和弹出的?

比如:void fun(int a,int b,int c); 调用fun(1,2,3); 调用时: -将断点程序指针压入堆栈 -将3,2,1顺序压入堆栈,并指定参数变量指针到堆栈,参数存放位置即为参数变量位置 -压栈保存现场 -执行函数 -弹栈恢复现场 -堆栈指针减掉参数占用字节数,舍弃堆栈中的参数 -弹栈断点程序指针加上调用语句字节数继续执行

声明:关于《函数调用过程中栈到底是怎么压入和弹出的》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2195845.html