C语言-函数栈帧(每次调用函数,开辟函数的大概流程)

news/2024/11/8 21:05:02/

思路:

  1. emm,有点懵,这一块,只知道个大概,如果后期我深挖的话,我再回头来补充
  2. 上图
  3. 括号的位置,便是每次创建,调用函数的时候,所产生的函数栈帧,也可以理解为每次调用函数,在电脑里开辟的一块空间,
  4. 这空间实际就是一个栈,ebp栈底指针,esp栈顶指针,他俩就这么一框,就画了一个区域,随后ebs,edi,ebi这三个是初始化栈的,从edi直到ebp,就给区域内的内容刷新为CCCCCC了,也就是通常所说的乱码了,
  5. 而这些工作完成后,才开始函数内部变量空间的创建,这个图,下面是高地址,下面是低地址,每个编译器不一样,因此划分块也不一样,用ebp-8,也就是底部高地址,减去8字节,这个为这个变量空间的起始地址。
  6. 而函数运行时,是向下获取数据,即挨着该函数区域的下面,这就可以解释为什么,递归的时候,每次递归的值不同,因为每次递归后,新的递归值,就会被创建一个空间,然后压到栈顶,随后再创建下一个递归的函数。
  7. 而每次进入递归,都是一块崭新的空间,这个空间干什么事,不干其他函数空间什么事,他们互不干扰,除非,你想要最后return值,想从内部获得什么值,最后回归的时候,带回来。

 


http://www.ppmy.cn/news/665095.html

相关文章

实用类详解

第二章 实用类介绍 目录 第二章 实用类介绍 1.枚举 2.包装类及其构造方法 3.Math类 4.Random类 5.String类 6.StringBuffer类 7.操作日期时间 总结 内容仅供学习交流,如有问题请留言或私信!!!!!…

【转贴】《创业家》:解码京东

4月7日,销售额1140万元。 刘强东盯着后台数据,舒了一口气,他更加确信完成今年40亿元销售额的目标问题不大,而且目前京东已经足够支撑这个业务量。 这是京东商城单日销售额第二次突破1000万元,上一次是2008年12月24日…

首届“十大最具价值”AR/VR创业项目遴选榜单丨Xtecher权威发布

编者按:近年来,围绕人工智能、大数据的创新创业层出不穷,整个科技行业呈迅猛发展态势。为进一步推动科技行业健康发展, Xtecher 与国家发改委中国投资协会投资咨询专业委员会共同举办“十大最具价值”科技项目遴选活动。 本次活动…

创业回忆录

1. 背景 我们有人懂销售,有人懂软件,有人懂硬件,有人懂下位机;我们有行业经验,都是骨干,于是乎对于我们创业而言就缺资金了。由于是新兴行业,很多企业都想介入,所以很快资金找到了&a…

1694件AI事件大盘点!2020年12月,哪些让你记忆深刻

020-12-31 16:03:51 来源:学术头条 本月,新闻事件分析挖掘和搜索系统 NewsMiner 数据显示,人工智能领域共计发生 1694 件新闻事件,如图 1 所示,报道这些 AI 事件的媒体如图 2 所示。 值得关注的 AI 人物方面&#xf…

无人驾驶 | 为什么双目自动驾驶系统难以普及?

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达转载于 :黄浴博士知乎 单目视觉是Mobileye(ME)的看家法宝,其实当年它也考虑过双目,最终选择放弃。 单目的测距…

互联网快讯:12306宣布上线“铁水联运”服务;极米投影产品双十一持续热销;微软正式发布.NET 6

国内要闻 英国石油bp与奥动新能源正式签署合资合作协议,推进发展换电网络;华为宣布将欧拉开源操作系统捐赠给开放原子开源基金会,助力数字新基建; 3、合合信息与卓志达成战略合作,助力跨境电商企业实现数字化转型&…

《创业家》

4月7日,销售额1140万元。 刘强东盯着后台数据,舒了一口气,他更加确信完成今年40亿元销售额的目标问题不大,而且目前京东已经足够支撑这个业务量。 这是京东商城单日销售额第二次突破1000万元,上一次是2008年12月24日…