C|函数调用的栈帧机制与数组越界、缓冲区溢出

0 前置知识0.1 程序加载和数据存储 程序运行前要将代码加载到内存的代码区,包括全局变量和静态变量也要同时加载。 堆区内存可以在程序运行时动态申请。 栈区是由程序重复利用的存储区域,通过两个寄存器ebp和esp存储栈区的相对地址来控制栈区空间的重复使用。函数调用时,开辟一个函数需要的栈区空间,称为...