首页 > 其他 > 详细

小程序的栈帧分析

时间:2016-06-12 03:36:52      阅读:219      评论:0      收藏:0      [点我收藏+]


    函数调用另一个词语表示叫作过程。一个过程调用包括将数据和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在推出时释放这些空间。而数据传递,局部变量的分配和释放通过操纵程序栈来实现。

    栈帧也叫过程活动记录,是编译器用来实现过程函数调用的一种数据结构。

    下面的一段代码,在main函数中并没有调用使虚拟机重启的函数,但是虚拟机为什么会重启?

                     技术分享

     这个原因就与栈帧有关,以下的图是对这个程序的解析

技术分享

     利用栈帧的知识,还可以不用b,但是可以改变b变量的值。

技术分享

以下是结果:

技术分享

     

小程序的栈帧分析

原文:http://11451519.blog.51cto.com/11441519/1788032

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!