- 3
- 0
- 约4.09千字
- 约 11页
- 2019-09-29 发布于湖北
- 举报
C程序运行时内存结构分析
时间:2015-11-24 22:25????点击:37次
实验知识
静态变量存储在静态存储区,局部变量存储在动态存储区(栈),代码存放在代码区
寄存器,EBP指向栈底,ESP指向栈顶,EIP指向正在执行指令的下一条指令,三个寄存器中保存的都是地址,32位系统,地址为4个字节即dword
所有写在函数定义里面的语句都编译成指令(驱动CPU)
实验代码
#include stdio.h
int?fun(int?a,?int?b);
int?m = 10;
int?main()
{
????int?i = 4;
????int?j = 5;
????m = fun(i, j);
}
int?fun(int?a,?int?b)
{
????int?c = 0;
????c = a + b;
????return?c;
}
这段代码包含两个函数,因此可以测试函数调用,此外还包含了静态变量、局部变量、返回值等
实验测试
测试工具:VC6.0
源代码及对应的汇编如下
寄存器及内存状态如下
EBP栈顶初始值为0018FF84h,ESP初始为0018FF48h
ESP和EBP在栈中的作用
在每个函数最开始的地方有两条语句
push ebp
mov ebp,esp
在函数返回前也有两条语句
mov esp,ebp
pop ebp
每运行一个函数就新开一段栈空间,所谓的开栈
您可能关注的文档
- 2017版高考数学(文)人教A版(全国)一轮复习 课件 第九章 平面几何 第1讲.ppt
- 2017版高考数学一轮总复习第7章不等式推理与证明第三节简单的线性规划AB卷文.doc
- 2017版高考物理一轮复习 第四章 曲线运动 万有引力与航天单元过关检测(3).doc
- 2017版高考数学一轮复习 第一章 集合与常用逻辑用语 第1讲 集合及其运算课件 理.ppt
- 2017版高考物理二轮复习高分突破专题七电磁感应交变电流第24课时法拉第电磁感应定律的综合运用.doc
- 2017版高考数学一轮复习 第九章 平面几何 第1讲 直线的方程课件 理.ppt
- 2017版高考数学一轮复习 第五章 平面向量 第3讲 平面向量的数量积课件 理.ppt
- 2017版高考生物一轮复习细胞的物质输入和输出 第1-2节 物质跨膜运输的实例、生物膜的流动镶嵌模型课件.ppt
- 2017物理中考考点归纳整理——12.docx
- 2017物理中考复习(专题家庭电路和电磁).ppt
- 视频测试信号发生器技术要求标准化发展研究报告.docx
- 数字化供应链 供应商管理 第6部分:钢铁行业标准化发展研究报告.docx
- 快手新手零基础简单剪辑教程.docx
- 快手新手作品热度提升日常操作.docx
- PitchBook_2026年三季度美国信贷市场季报-US Credit Markets Quarterly Wrap Third quarter, 2026.docx
- 硅谷银行-2026年企业风险投资状况 State of CVC 2026 A Deep Dive Into the Dynamics of the Corporate Venture Capital Ecosystem.docx
- 小学数学解决问题画图建模教学实务.docx
- 中考历史重点、热点问题猜押.doc
- 中国酒精饮料市场调研与未来发展趋势报告.doc
- 中国活性氧化镁行业市场调研及行业前景预测报告.doc
原创力文档

文档评论(0)