为了账号安全,请及时绑定邮箱和手机立即绑定

下面是关于函数调用的详细过程,求解释!

下面是关于函数调用的详细过程,求解释!

动漫人物 2021-10-06 11:11:48
#include <windows.h>void Test(char* str){char szTitle[30] = "lazycat";MessageBox(NULL, str, szTitle, 0);}void main(){__asm int 3;Test("JustTest");}我主要想知道堆栈中的东西,如ebp、局部变量、函数参数等这些的入栈顺序
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

函数调用的过程:1。PUSH 参数2。Push 当前指令地址3。保存原来的ESP4。如果函数又变量那就用ESP-N来为局部变量在堆栈中腾出空间======================此时EBP指向该函数帖的栈底 ,ESP指向函数帖的栈顶而不是整个堆栈的顶和底

查看完整回答
反对 回复 2021-10-10
?
波斯汪

TA贡献1811条经验 获得超4个赞

当然是函数参数先入栈,然后函数返回地址,然后是bp, 局部变量

查看完整回答
反对 回复 2021-10-10
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信