当前位置: 首页 > news >正文

网站建设罗贤伟成都网站seo排名优化

网站建设罗贤伟,成都网站seo排名优化,有个网站可以学做ppt模板,网站免费响应建设文章目录 main函数栈帧的创建为什么局部变量的值是随机值函数是怎么传参的?传参的顺序是什么?函数调用结束是怎么返回的 main函数栈帧的创建 先在栈帧里面为main函数开辟出一块空间,且这块空间由两个寄存器esp和ebp来进行维护,当在调用另一个函数时这两个寄存器就去维护为这…

文章目录

  • main函数栈帧的创建
  • 为什么局部变量的值是随机值
  • 函数是怎么传参的?传参的顺序是什么?
  • 函数调用结束是怎么返回的

main函数栈帧的创建

先在栈帧里面为main函数开辟出一块空间,且这块空间由两个寄存器esp和ebp来进行维护,当在调用另一个函数时这两个寄存器就去维护为这个函数栈帧,也就是当调用哪个函数时这两个寄存器就去维护哪个函数的栈帧。每个函数在调用时都会在栈区创建一个空间。我们成ebp为栈底指针,esp为栈顶指针。
在这里插入图片描述
压栈的时候是从栈顶压入数据的。
存到的地方是低地址
我们以一个程序来进行详细说明

#include <stdio.h>int Add(int x, int y)
{int z = 0;z = x + y;return z;
}int main()
{int a = 10;int b = 20;int c = 0;c = Add(a, b);printf("%d\n", c);return 0;
}

实际上main函数也是被别人调用的。那么main函数是怎么进行栈帧的创建的呢?
在这里插入图片描述
这就是main函数栈帧的创建,创建结果为
在这里插入图片描述
这是在调用主函数时空间开辟后进行的准备工作,其它普通函数也是这样。
esp会自动调整始终指向栈顶
接下来我们再对内部的变量以及内部加粗样式调用函数的创建和销毁进一步说明。

为什么局部变量的值是随机值

当你不对变量初始化赋值时,默认就是CCCCCCCC因为在你为函数开辟战真的时候就已经默认为这个值了,这也就是为什么会出现烫烫烫烫的原因
当你初始化时
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时将a赋值为10

函数是怎么传参的?传参的顺序是什么?

在这里插入图片描述
在call指令调用调用函数之前,先把参数分别赋给了eax和ecx并压入了栈中。
当执行call指令时调用函数的同时还进行了另一部操作:
在这里插入图片描述

这一步操作是把call指令的下一条指令的地址压入了栈中,因为当调用函数结束之后还是要返回执行下一条指令的,这里就是为了找到call指令的下一条指令,因此提前保存起来了
当进入被调函数之后,对参数进行操作时就是对我们在执行call指令值前压入的两个值进行操作,这两个值是参数的拷贝,所以他们的改变并不会影响实参。由上面我们也可以看出形参压栈的顺序是从右向左入栈。

函数调用结束是怎么返回的

因为在函数调用结束时,被调函数中的局部变量就会被销毁,所以编译器会先把返回值放到寄存器当中,然后返回到刚刚保存的下一条指令那里,然后再将形参进行销毁,最后回到刚才调用函数的地方。
这里对形参进行销毁的指令是
在这里插入图片描述
就是让栈顶指针向高地址移动8,即esp+8

http://www.shuangfujiaoyu.com/news/2141.html

相关文章:

  • 聚美优品网站建设的特点今天新疆新闻头条
  • 做教育的网站南京谷歌seo
  • 毕业设计代做网站php网站关键词优化报价
  • 维修保养网站开发泰州网站排名seo
  • 苏州园区网站开发百度信息流是什么
  • 哪个网站做代购seo西安
  • 2021年房价下跌已成定局深圳优化公司统高粱seo
  • 深圳门户网站建设免费网络营销方式
  • 浦东做网站的公司正规推广赚佣金的平台
  • 品牌网站建设預定大蝌蚪长沙网站制作主要公司
  • 广州门户网站制作网店代运营的套路
  • wordpress设置阅读更多百度禁止seo推广
  • 2018什么做网站大数据培训包就业靠谱吗
  • 门户网站搭建软件西安的网络优化公司
  • 公司官网怎么维护西安百度seo推广电话
  • 湖南疫情最新情况新增2例在哪里企业网站seo方案
  • 深圳市城乡住房和建设局网站首页湖南网站网络推广哪家奿
  • 做网站建设的网站seo职业
  • 代做cad平面图的网站seo推广外包企业
  • 廊坊网站建设技术外包青岛网站建设制作推广
  • 郴州365网企业网站优化外包
  • 做网站建设推广好做吗seo教程自学
  • 苏州做淘宝网站seo推广排名重要吗
  • 城市网站建设意义清远今日头条最新消息
  • 长沙网站排名方法互动营销是什么意思
  • 遂宁网站设计设计网站一般多少钱
  • 怎么咨询自己的网络服务商网站优化技巧
  • 网站设计的收费武汉seo诊断
  • 网站优化方案模板全球搜索大全
  • 瑞安app开发公司杭州seo博客