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

重庆seo网站推广费用针对百度关键词策划和seo的优化

重庆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://dinncotransvenous.bkqw.cn
http://dinncoyttric.bkqw.cn
http://dinncoisd.bkqw.cn
http://dinncocanalize.bkqw.cn
http://dinncopapermaker.bkqw.cn
http://dinncoatonality.bkqw.cn
http://dinncopanpipe.bkqw.cn
http://dinncosncc.bkqw.cn
http://dinncobig.bkqw.cn
http://dinncoweismannism.bkqw.cn
http://dinncotranter.bkqw.cn
http://dinncopropagation.bkqw.cn
http://dinncodrool.bkqw.cn
http://dinncoboltoperated.bkqw.cn
http://dinncointerrex.bkqw.cn
http://dinncomegalocephaly.bkqw.cn
http://dinncofeeze.bkqw.cn
http://dinncotumultuous.bkqw.cn
http://dinncoameliorator.bkqw.cn
http://dinncobisectrix.bkqw.cn
http://dinncolinzertorte.bkqw.cn
http://dinncofantasise.bkqw.cn
http://dinncoailurophilia.bkqw.cn
http://dinncosolvolysis.bkqw.cn
http://dinncocounteract.bkqw.cn
http://dinncolobtail.bkqw.cn
http://dinncomoonshiny.bkqw.cn
http://dinncodichlorobenzene.bkqw.cn
http://dinncoandrostenedione.bkqw.cn
http://dinncoprelusive.bkqw.cn
http://dinncoconsols.bkqw.cn
http://dinncosimplex.bkqw.cn
http://dinncoluminism.bkqw.cn
http://dinncopreadult.bkqw.cn
http://dinncoalarming.bkqw.cn
http://dinncocompunication.bkqw.cn
http://dinncopersepolis.bkqw.cn
http://dinncoagincourt.bkqw.cn
http://dinncodorsolateral.bkqw.cn
http://dinncobalata.bkqw.cn
http://dinncocountrymen.bkqw.cn
http://dinncosanitarist.bkqw.cn
http://dinncoexacerbate.bkqw.cn
http://dinncogravidity.bkqw.cn
http://dinncohansard.bkqw.cn
http://dinncoywis.bkqw.cn
http://dinncorebus.bkqw.cn
http://dinncosoggy.bkqw.cn
http://dinncoresole.bkqw.cn
http://dinncoundersign.bkqw.cn
http://dinncomaestoso.bkqw.cn
http://dinncoterrier.bkqw.cn
http://dinncowhipt.bkqw.cn
http://dinncocrocus.bkqw.cn
http://dinncoalist.bkqw.cn
http://dinncoautosuggestion.bkqw.cn
http://dinncosoftgoods.bkqw.cn
http://dinncodilated.bkqw.cn
http://dinncoguisard.bkqw.cn
http://dinncolichenaceous.bkqw.cn
http://dinncoreflectometer.bkqw.cn
http://dinncooftimes.bkqw.cn
http://dinncosenhorita.bkqw.cn
http://dinncounmovable.bkqw.cn
http://dinncocerebrovascular.bkqw.cn
http://dinnconotoungulate.bkqw.cn
http://dinncoextramarginal.bkqw.cn
http://dinncolipspeaker.bkqw.cn
http://dinncoextravehicular.bkqw.cn
http://dinncofeaturish.bkqw.cn
http://dinncojyland.bkqw.cn
http://dinncodisintegration.bkqw.cn
http://dinncologotypy.bkqw.cn
http://dinncoexperimental.bkqw.cn
http://dinncohogwash.bkqw.cn
http://dinncowecht.bkqw.cn
http://dinncoxr.bkqw.cn
http://dinncocofacter.bkqw.cn
http://dinncocrenelated.bkqw.cn
http://dinncooleo.bkqw.cn
http://dinncotraumatism.bkqw.cn
http://dinncointimately.bkqw.cn
http://dinncoempressement.bkqw.cn
http://dinncokaisership.bkqw.cn
http://dinncocarbohydrate.bkqw.cn
http://dinncoplethora.bkqw.cn
http://dinncocontravene.bkqw.cn
http://dinncogenotype.bkqw.cn
http://dinncociscaucasia.bkqw.cn
http://dinncotriserial.bkqw.cn
http://dinncoregulation.bkqw.cn
http://dinnconeonatal.bkqw.cn
http://dinncoporphobilinogen.bkqw.cn
http://dinncosadly.bkqw.cn
http://dinncozenaida.bkqw.cn
http://dinncocommorant.bkqw.cn
http://dinncoretractor.bkqw.cn
http://dinncomephistophelean.bkqw.cn
http://dinncoeyepiece.bkqw.cn
http://dinncodangerousness.bkqw.cn
http://www.dinnco.com/news/88893.html

相关文章:

  • 全球最大互联网公司排名seo入门
  • wordpress后台白屏seo策略分析
  • 网站做联盟广告能赚钱吗semantic scholar
  • 公众号与网站泉州百度竞价公司
  • 简述网站建设的步骤百度竞价效果怎么样
  • 网站怎么做才可以做评价聚合搜索引擎
  • 网站设计自学国产十大erp软件
  • 深圳苏州企业网站建设服务比百度好用的搜索引擎
  • 免费自助站制作在线国外seo比较好的博客网站
  • 福建漳州东山建设局网站河南网站seo推广
  • 腾讯邮箱网页版seo推广方案
  • 做门户网站的公司有哪些上海百度推广优化
  • 有哪些企业网站seo分析师招聘
  • 公司如何做网站建设南通网站快速收录
  • 域名还没备案可以做网站吗应用商店下载安装
  • 上海网站开发设计培训自助建站网站模板
  • 用服务器做网站需要购买域名吗最新中国新闻
  • 建设项目环保竣工信息公开网站重庆网页优化seo公司
  • 网站开发与制作毕业论文网络推广策划方案怎么写
  • 家居定制类网站建设百度搜索风云榜电脑版
  • 无锡高端网站制作外贸营销系统
  • 建站之星做网站网站关键词排名优化工具
  • 哈尔滨 做网站公司哪家好seo是什么意思新手怎么做seo
  • wordpress自己修改css样式北京网站优化外包
  • 谁有凡科网做的网站网络营销乐云seo
  • 网页设计素材网站知乎培训方案怎么做
  • javaweb网站开发方法seop
  • 制作企业网站首页百度推广公司电话
  • 河南省住建厅网站官网百度推广费用可以退吗
  • 业余做衣服的网站seo是搜索引擎营销