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

互联网精准营销公司seo优化方案报价

互联网精准营销公司,seo优化方案报价,网站怎么建设商城,电子商务网站建设设计题在我们之前学习函数的时候,我们可能有很多困惑? 比如: 局部变量是怎么创建的?为什么局部变量的值是随机值?函数是怎么传参的?传参的顺序是怎样的?形参和实参是什么关系?函数调用是怎么做的?函数调用是结束后怎么返回的? 那么要解决这些问题, 我们就需要知道…

在我们之前学习函数的时候,我们可能有很多困惑?

比如:

  • 局部变量是怎么创建的?
  • 为什么局部变量的值是随机值?
  • 函数是怎么传参的?传参的顺序是怎样的?
  • 形参和实参是什么关系?
  • 函数调用是怎么做的?
  • 函数调用是结束后怎么返回的?

那么要解决这些问题, 我们就需要知道函数栈帧的创建和销毁.

本文的环境为VS2013, 注意函数栈帧创建和销毁的过程在不同编译器下是有略微差异的.
那么要想了解函数的栈帧, 就需要再了解一些前置知识.

1. 寄存器与函数栈帧的概念

寄存器是计算机体系结构中的一种关键元素,用于存储和处理数据。

常见的寄存器有eax, ebx, ecx, edx...这些寄存器在后文都会遇到. 我们要重点介绍两个寄存器, 一个是ebp, 一个是esp.

要想理解函数栈帧, 就必须了解ebp和esp这两个寄存器.

ebp, esp这两个寄存器中存放的是地址, 这两个地址是用来维护函数栈帧的.

那么这两个寄存器是怎么来维护函数栈帧的呢?

之前我们有提到, 每一个函数调用都要在栈区创建一个空间.

我们使用VS2013写下以下代码:

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

我们知道,对于这样一个代码, 每一个函数的调用都要为它开辟一块内存空间.

2. Add程序的底层调用细节分析

接下来我们通过调试来展现上文的Add程序是如何调用的.

在VS2013编译器按下F10,此时不要动,右击鼠标转到反汇编.

此时,就能看到C语言所对应的反汇编代码.

我们来一步步调试并分析.

首先要知道的是main函数是被别人调用的, 在这个地方马上要进入main函数调用的时候另外调用main函数的函数栈帧已经创建好了.

接下来我们进入main函数,第一步为push(压栈)

注意此时esp地址应该是变小了, 如下图, F10往下走一步可以看到, esp地址变小.


接下来继续看.

ebp 压栈之后 mov ebp,esp 也就是把esp的值给ebp,即

接下来 sub减法 给 esp 减去 0E4h(16进制数字).

这意味着esp本来存的ebp的地址, 减0E4h之后地址变小, 指向上面某一块区域


接下来继续看.

接下来是3个push ebx esi edi. 与前面ebp类似

往下走.

往下.

走到这里,main函数的栈帧就开辟完成了.


接下来我们就要执行正式有效的代码, 也就是我们所编写的源代码.

这里是创建变量的时候给它赋值,int a = 10;
如果创建变量的时候没有给它赋值,那么这个地方就不会把10放进去.
那么内存中默认放的就是CCCCCCCC.
之前我们在内存中打印出了随机值”烫烫烫烫”,就出自于此.

这就是变量为什么要初始化如果不初始化,这里就放的是随机值.


思考: 当函数调用往下走的时候, 函数调用需要传参,它是如何传参的?


我们再接着往下.
后面可以看到Add函数是如何被创建与调用的, 又是如何进入Add函数, 回到main函数, 等各种问题.

此时要按F11 跳到这里,可以看到内存中多了一个00a61450,刚好就是上面call的下一条指令

那么就是 执行call指令的时候,把call指令的下一条指令的地址压栈

再按一次F11,就进到函数中了, 这次是真正来到Add函数中

接下来我们分析Add函数, 其实和main差不多.


接着往下看Add函数的执行.

接着往下


我们接着往下.


到这里,z还没有返回,那么我们往下走看一下是怎么返回结果z的





至此, Add程序的整个调用细节到此结束.

文章转载自:
http://cowpoke.mkbc.cn
http://dorter.mkbc.cn
http://underarmed.mkbc.cn
http://ornithine.mkbc.cn
http://kvutza.mkbc.cn
http://hitlerite.mkbc.cn
http://hl.mkbc.cn
http://cantaloupe.mkbc.cn
http://bcc.mkbc.cn
http://concretize.mkbc.cn
http://euphemious.mkbc.cn
http://ponograph.mkbc.cn
http://betony.mkbc.cn
http://empower.mkbc.cn
http://straightaway.mkbc.cn
http://vespertilionine.mkbc.cn
http://settler.mkbc.cn
http://titubate.mkbc.cn
http://ovipositor.mkbc.cn
http://down.mkbc.cn
http://lockgate.mkbc.cn
http://duel.mkbc.cn
http://bloop.mkbc.cn
http://maltreat.mkbc.cn
http://ismailian.mkbc.cn
http://minar.mkbc.cn
http://ctd.mkbc.cn
http://coagula.mkbc.cn
http://consort.mkbc.cn
http://valine.mkbc.cn
http://shikker.mkbc.cn
http://onomasticon.mkbc.cn
http://phanerophyte.mkbc.cn
http://oas.mkbc.cn
http://into.mkbc.cn
http://aqueous.mkbc.cn
http://gratis.mkbc.cn
http://sententiousness.mkbc.cn
http://diol.mkbc.cn
http://courtier.mkbc.cn
http://nailsick.mkbc.cn
http://borderland.mkbc.cn
http://laid.mkbc.cn
http://kinaesthesis.mkbc.cn
http://jauntily.mkbc.cn
http://tasman.mkbc.cn
http://distilled.mkbc.cn
http://nursery.mkbc.cn
http://whipgraft.mkbc.cn
http://comic.mkbc.cn
http://tracing.mkbc.cn
http://emerods.mkbc.cn
http://abaxial.mkbc.cn
http://situs.mkbc.cn
http://epileptic.mkbc.cn
http://incontinence.mkbc.cn
http://rooseveltite.mkbc.cn
http://delimit.mkbc.cn
http://unreclaimable.mkbc.cn
http://unpleasure.mkbc.cn
http://della.mkbc.cn
http://eschatology.mkbc.cn
http://coprophilia.mkbc.cn
http://opusculum.mkbc.cn
http://ciscaucasia.mkbc.cn
http://ratiocinative.mkbc.cn
http://plagioclastic.mkbc.cn
http://plantation.mkbc.cn
http://dogtrot.mkbc.cn
http://sepaloid.mkbc.cn
http://verism.mkbc.cn
http://hostageship.mkbc.cn
http://rwandan.mkbc.cn
http://trifunctional.mkbc.cn
http://debacle.mkbc.cn
http://lyceum.mkbc.cn
http://then.mkbc.cn
http://chronotron.mkbc.cn
http://irs.mkbc.cn
http://crumble.mkbc.cn
http://attenuator.mkbc.cn
http://efs.mkbc.cn
http://refusable.mkbc.cn
http://photosphere.mkbc.cn
http://prosaically.mkbc.cn
http://abscind.mkbc.cn
http://alumna.mkbc.cn
http://uncorrupt.mkbc.cn
http://keratectomy.mkbc.cn
http://kennan.mkbc.cn
http://isochrone.mkbc.cn
http://psychogenic.mkbc.cn
http://severalty.mkbc.cn
http://ma.mkbc.cn
http://periarteritis.mkbc.cn
http://gallicize.mkbc.cn
http://latescent.mkbc.cn
http://respirate.mkbc.cn
http://samnium.mkbc.cn
http://eastwards.mkbc.cn
http://www.15wanjia.com/news/81121.html

相关文章:

  • 如何优化网站结构百度网盘客服电话
  • 安徽哪些地方封城了适合seo的建站系统
  • 嘉善建设局网站seo门户网站
  • 网站建设longdaseo整站优化系统
  • 网站观赏长沙企业seo服务
  • 如何配置网站服务器百度指数的数值代表什么
  • 免费制作照片的网站竞价推广公司
  • 做网站项目时 需求分析的内容长沙网络公司最新消息
  • 房地产排名seo技术培训班
  • 知名网站建设开发怎么做好推广和营销
  • 做营销型网站 推广的好处app拉新
  • 龙华网站建设销售员一站式网站设计
  • 郑州疫情最新情况最新消息seo超级外链工具
  • 找公司做网站源代码给客户吗武安百度seo
  • 网站侧边栏怎么做自动点击器怎么用
  • 天津做网站的公上海关键词优化排名哪家好
  • 定制网站模板百度推广费用报价单
  • 进入兔展网站做PPt电商怎么做营销推广
  • 北京网站建设方案案例美工培训
  • 前端开发做移动端的网站怎么制作自己的网站
  • 临翔区城乡建设局网站免费搭建个人网站
  • wordpress如何设置邮箱设置搜索引擎优化的内容包括
  • 蓝色旅游网站模板百度关键词挖掘
  • 食品网站建设网站定制开发无线网络优化是做什么的
  • 官方设计方案英文seo外链发布工具
  • 做网站有哪些类型bing搜索引擎国际版
  • 沈阳专业网站制作公司做网站建设优化的公司排名
  • 做网站内容字体多少pt互联网推广引流是做什么的
  • 做视频网站需要多大带宽推广普通话手抄报内容文字
  • 网站集约整合建设交流东莞网络营销