前言
学习程序的底层结构和逻辑,有助于自己对编程的理解,这里来学习函数栈帧的创建和销毁,有利于提升自身思维,加强理解代码能力。
注意:
因为更高级的编译器对栈的封装更严密,这里编译的时候选择Debug版本,并使用OD软件来观察汇编代码。选择release版本会优化代码
因为要进入比较底层,所以最好先学习一下汇编代码的指令,能方便我们学习理解代码内容
这里 寄存器 是集成在CPU里面的,内存中可以直接使用
一、函数的栈帧是什么?
在内存中笼统分为三个区
内存中函数每次调用都会在堆栈开辟一段空间,进行栈帧的创建和销毁,注意这里用的是讨论的是栈区。
二、分析代码
1.准备工作
这里使用x86进行编译 (方便使用32位OD,查看32位的寄存器)
这里的设置是为了方便使用OD工具来调试程序,直观的观察函数的创建和销毁。
仅支持我的代码调试选择否