当前位置:首页 » 《资源分享》 » 正文

关于函数栈帧,变量是如何创建和销毁的(附图解)_T2827813408的博客

3 人参与  2021年11月03日 08:43  分类 : 《资源分享》  评论

点击全文阅读


hollow各位程序猿,当我们学习编程时有没有和我一样有这种困惑

比如变量是如何创建的?

为何局部变量是随机值?

函数返回调用是如何传递参数?

和函数是如何返回的?

这里我用的编译器是VS2019接下来我将带着大家了解函数栈帧是如何创建销毁 注:函数栈帧创建销毁每个编译器不一定会相同

如有疏漏之处欢迎大佬指出和讨论,瑞斯拜 瑞斯拜 

                       此时我们创建一个函数并且调用它 

     而调用函数就会用到寄存器此时我们用到的寄存器有这两个

                                        esp ebp 

                           此时我们内存空间里的栈区里面是这样

                      然后开始函数调用此时内存中ebp开始压栈

 下一步然后内存中ebp和esp开辟了为main函数所创建变量的空间

                                        此时main函数开始创建变量

 Add函数,开始调用计算计算完成的值赋给eax,此时我们的计算已经完成,接下来调用的值开始返回

 这时esp的值从esl开始返回函数,esp每次增加4字节直到返回到edp所在位置,edp将值赋予esp,esp所处地址在下到edp,esp再增加4

字节,然后执行ret返回call指令的下一行

 最后一步main函数返回栈帧

 这就是今天给大家图解的如何创建销毁函数栈帧,

希望可以帮到大家,如有错误欢迎指出

轻点喷 各位大佬们 哈哈

求点赞 求点赞 求点赞 素质三连


点击全文阅读


本文链接:http://zhangshiyu.com/post/30432.html

函数  调用  创建  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 亲女儿被养女炼成蛊后,我杀疯了全章节免费阅读_诺诺宋清清苗疆关键剧情节选解锁
  • 「用了男友两块钱亲密付被说图他的钱」完结版免费阅读_贺然翠翠孟凡全角色番外合集包
  • (番外)+(全书)如果月亮说爱你全书+后续+结局(沈聿付梨)列表_如果月亮说爱你全书+后续+结局(沈聿付梨)如果月亮说爱你全书+后续+结局
  • 「当爱被海水淹没」节选名场面直通车‌_[贺维钧贺若琳沫沫]最新章节免费阅读
  • 繁花盛意难平全书+后续+结局(陆依霜轩辕翊)全书列表_繁花盛意难平(陆依霜轩辕翊)繁花盛意难平全书+后续+结局在线
  • 全球灾变:我有一座恐怖屋全文免费在线阅读_[钟无咎林澜]全文免费无弹窗阅读_笔趣阁
  • 「乖巧面具撕碎那天,全网求我别黑化」章节多结局预体验‌_宋且微萧淮无弹窗阅读
  • (番外)+(全书)日暮青山绿渐隐全书+后续+结局(日暮青山绿渐隐全书+后续+结局)_许星森纪冰雪列表_笔趣阁(日暮青山绿渐隐全书+后续+结局)
  • [我预见了所有悲剧,除了爱]最新章节在线阅读_「白月光」小说无删减版在线免费阅读
  • (番外)+(全书)爱若有天意,兜转终可回全书+后续+结局(宋清澜萧沉)_爱若有天意,兜转终可回全书+后续+结局列表_笔趣阁(爱若有天意,兜转终可回全书+后续+结局)
  • [繁花盛意难平]小说节选推荐_陆依霜轩辕翊陆青仪节选推荐
  • [纵她追悔,爱已成荒芜]小说精彩节选推荐_「苏萌林澈白月光」小说精彩节选试读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1