堆栈图
CC是int 3,防止缓冲区溢出,CPU会断下
堆栈图1
单层函数的堆栈调用图
函数
函数的概念
函数入口
还可以通过寄存器传参
windows堆栈
- 先进后出
- 向低地址扩展
什么是堆栈平衡: 简单的说就是还原现场
问: cmp ebp,esp后,如果ebp!=esp是否可以跳转
答: 可以,因为z标志位改了就行
堆栈图练习2
带子函数的堆栈调用图
堆栈图练习3
粗略看了下,是个多层加法计算
第一层 7,6,5,4,3
第二层: int num1=2,num2=3; 子函数传入参数6,5,4,3,计算结果为num1+num2+ 子函数计算结果+7
第三层:int num1=2, 子函数传入参数5,4,3 计算结果为 num1+ 子函数计算结果+6
第四层: 返回5+4+3
所以整体为: 5+4+3+6+2+7+2+3=32
至于堆栈图,不画了,我有点基础,大概懂这些了
本文作者:NoOne
本文地址: https://noonegroup.xyz/posts/30a104fe/
版权声明:转载请注明出处!