小程序的栈帧分析


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

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

    下面的一段代码,在main函数中并无调用使虚拟机重启的函数,可是虚拟机为何会重启?函数

                     wKioL1dcGBCwhCUDAABO_E6JQVY563.jpg-wh_50

     这个缘由就与栈帧有关,如下的图是对这个程序的解析spa

wKiom1dcHDmCQ6gIAAEYouHTt5A551.png-wh_50

     利用栈帧的知识,还能够不用b,可是能够改变b变量的值。blog

wKioL1dcJYDCaZq8AAAwPlaoCqo236.jpg-wh_50

如下是结果:get

wKioL1dcJn_yon1eAAAN_Kx3QYo171.jpg

相关文章
相关标签/搜索