C++函数调用机制
来源:互联网 发布:淘宝视频制作多少钱 编辑:程序博客网 时间:2024/05/17 00:10
◆ 局部变量占用的内存是在程序执行过程中“动态”地建立和释放的。这种“动态”是通过栈由系统自动管理进行的。当任何一个函数调用发生时,系统都要作以下工作:
(1)建立栈空间;
(2)保护现场:主调函数运行状态和返回地址入栈;
(3)为被调函数中的局部变量分配空间,完成参数传递;
(4)执行被调函数函数体;
(5)释放被调函数中局部变量占用的栈空间;
(6)回复现场:取主调函数运行状态及返回地址,释放栈空间;
(7)继续主调函数后续语句。
◆ 函数调用过程中的内存使用:通过下面例子来看函数调用时内存的变化情况。
void fun1(int, int);
void fun2(float);
int main(){
int x=1;y=2;
fun1(x, y);
return 0;
}
void fun1(int a,int b){
float x=3;
fun2(x);
}
void fun2(float y) {
int x;
…
}
阅读全文
0 0
- C函数调用机制
- C函数调用机制
- C函数调用机制
- linux c函数调用机制
- C语言函数调用机制
- C语言函数调用的底层机制
- 简析C中的函数调用堆栈机制
- C语言函数调用的底层机制
- C语言函数调用的底层机制
- C函数调用机制(x86的linux环境下)
- C函数调用机制及栈帧指针
- Object-C的函数调用机制详解--消息
- C 函数调用机制 栈帧(stack frame)
- C函数调用机制及栈帧指针
- C函数调用机制及栈帧指针
- linux下C函数调用机制(X86平台)
- 【转】Object-C的函数调用机制详解--消息
- C函数调用机制(x86的linux环境下)
- 彻底弄懂二叉排序树
- 2017 暑假艾教集训 day2
- 抢答器
- ORACLE 学习之PL/SQL中DML和DDL语言使用
- 威威猫系列故事——打地鼠 HDU
- C++函数调用机制
- 正则表达式各种方法总结
- caioj1215
- Leetcode 649. Dota2 Senate Dota2议院 解题报告
- android MVP实践
- 装饰模型和代理模式的区别
- Unity3D之UI按键绑定事件案例(七)
- jdk1.8 J.U.C并发源码阅读------CountDownLatch源码解析
- 一些日常