函数调用的过程
来源:互联网 发布:中国古代神话体系知乎 编辑:程序博客网 时间:2024/04/29 08:20
1:栈帧
①:关于栈:
A:首先明确一点,栈是向下生长的,所谓的向下生长,即从高地址向低地址延伸。即变量从栈的高地址向低地址存储。
B:其次,介绍一组寄存器变量,ebp在未受改变时始终指向栈底,其作用常常用来寻址。
C:寄存器esp会随着数据的出栈和压栈而移动,在未受改变时始终指向栈顶。
2:函数的调用过程
见下图: mainCRTStartup()函数调用main()函数;
(1):先将调用者mainCRTStartup()函数的基址入栈,保存之前任务的信息。
(2):然后调用函数时将ebp指针移到mainCRTStartup()函数所占内存空间的栈顶。作为新的基址即main( )函数【栈底】的基址来使用。
(3):随后在被调用者main()函数的栈底上开辟相应的空间,作为被调用者main()函数的栈空间。
(4):函数返回后 esp及移动到ebp处,恢复为调用者的栈顶。
1 0
- 函数调用的过程
- 函数调用的过程
- 函数调用的过程
- 函数的调用过程
- 函数的调用过程
- main函数的调用过程
- C函数的调用过程
- C函数的调用过程
- 函数调用的执行过程
- 函数调用的过程-栈
- 函数的调用堆栈过程
- 函数的调用过程--栈帧
- 总结函数的调用过程
- 详解函数的调用过程
- 调用函数的过程---------栈桢
- Oracle过程的使用,调用函数,调用过程,使用游标
- 函数的调用在底层的过程
- 深入理解递归函数的调用过程
- 面试路之算法总结(1)
- STL之vector的用法二
- JAVA当中数组学习(初级)
- Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值
- 气与相
- 函数调用的过程
- iOS中通知中心的概念知识吧(objective - c版)
- ubuntu固定ip设置
- Invalid proguard configuration file path D:\...\proguard.cfg does not exist or is not a regular file
- javascript的闭包和匿名函数
- leetcode之Bulls and Cows
- UVA 1153Keep the Customer Satisfied 顾客是上帝 经典贪心 (SWE 2005)
- Oracle
- VS2015+Opencv3.1环境配置