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

强的网站建设公司排名joomla drupal wordpress

强的网站建设公司排名,joomla drupal wordpress,wordpress卡登录页面,app下载注册量推广平台Yan-英杰的主页 悟已往之不谏 知来者之可追 目录 ​0.ebp和esp是如何来维护栈帧的呢#xff1f; 1.为什么局部变量的值不初始化是随机的#xff1f; ​2.局部变量是怎么创建的#xff1f; ​3 .函数是如何传参的#xff1f;传参的顺序是怎样的 4.函数是如何调用的 ​…  Yan-英杰的主页 悟已往之不谏 知来者之可追 目录 ​0.ebp和esp是如何来维护栈帧的呢 1.为什么局部变量的值不初始化是随机的 ​2.局部变量是怎么创建的 ​3 .函数是如何传参的传参的顺序是怎样的 4.函数是如何调用的 ​5.形参和实参的关系 ​6.函数调用结束后如何返回 在学习函数栈帧的创建与销毁前我们应该理解寄存器的概念作为铺垫esp ebp  eax ebx ecx(本质是一个计数器) edx等寄存器,其中esp ebp尤为重要这是因为这两个寄存器中存放的是地址而这两个地址是用来维护栈帧的    0.ebp和esp是如何来维护栈帧的呢 当我们调用Main函数时 当我们调用Add函数时 注:通常我们成ebp为栈底指针esp为栈顶指针此外在32位环境下是ebp和esp而到了64位环境下栈底指针和栈顶指针变为rbp和rsp 当我们弄懂了寄存器的概念此时我们就正式开始学习函数的栈帧和创建在学习前带着疑问进入学习 1.为什么局部变量的值不初始化是随机的 2.局部变量是怎么创建的 3.函数是如何传参的传参的顺序是怎样的 4..函数是如何调用的 5.形参和实参的关系 6.函数调用结束后如何返回 1.为什么局部变量的值不初始化是随机的 其他编辑器调用过程过于繁琐不利于我们观察堆栈的调用过程为了方便观察和学习我们以VS2013为例查看函数在堆栈中的调用情况 通过该调用过程我们不难看出在调用main函数之前我们首先调用了mainCRTStartup函数通过mainCRTStartup函数调用了__tmainCRTStartup函数调用了main函数 我们使用ebp(rbp)和esp(rsp)来维护main函数的栈帧空间首先进行压栈此时esp栈顶指针的位置上移而后将esp的地址赋给ebp使得ebp指向了esp 而后我们开辟出了一块大为0E4h大小的栈帧空间该空间即为main函数的栈帧空间esp随着栈帧空间的开辟也随之发生了改变 而后我们再对其进行压栈esp(栈顶指针)依旧随之发生改变 通过这步操作我们将ebp-24h的空间地址存储到edi中也就是main函数的栈帧空间地址往下看发现其实该步真正起作用的地方为rep它的意思就是从edi开始ecx次将eax的内容初始化为CCCCCCCC 其实在这一步就证明了为什么我们不对新创建的变量进行初始化而其内容为随机值就是因为其默认初始值为CCCCCCCC 2.局部变量是怎么创建的 我们将0Ah的内容放入ebp-8中其实这0Ah所代表的就是变量a的值10将14h的值放入epb-14h地址处(图像大小有限我们很难准确画出图中画出的只是大致范围) 3 .函数是如何传参的传参的顺序是怎样的 传参时我们将ebp-14h和ebp-8的地址分别传给eax和ecx寄存器并进行压栈esp的地址也随之发生改变 我们通过该步骤调用了call命令并将该地址保存在栈帧空间内部esp再次发生改变维护函数空间 4.函数是如何调用的 通过该步骤我们进行操作将main函数的栈底进行压栈esp的随栈帧空间发生改变将esp的地址赋给ebp,我们开辟一块0CCh大小的空间用来维护add函数的栈帧对ebx,esi,edi等寄存器进行压栈将epb-0Ch处的地址加载到edi中同时初始化add函数栈帧空间的内容为0CCCCCCCCCh 5.形参和实参的关系 我们常说形参其实是实参的临时拷贝改变形参其实是无法改变实参的具体原因是怎样的 该步骤寻找到ebp-8的位置开辟变量Z的栈帧,将其初始化为0将ebp8和ebp12的内容相加得出了xy的和其实我们这一步不难发现我们在main函数中调用add函数进行传参其实仅仅只是将实参的值放到两个寄存器内进行压栈我们在add函数中调用形参时访问的其实是寄存器中的内容这也是为什么我们常说形参是实参的临时拷贝修改形参无法对实参造成任何影响 6.函数调用结束后如何返回 当调用结束后将ebp-8的内容存储到eax寄存器中同时将edi esi ebx出栈此时esp维护空间也发生了变化esp00Ch此时销毁了add函数的栈帧空间将ebp的地址赋给esp,但是我们在main函数中留有call函数的地址将其弹出回头main函数中同时esp8栈顶指针再次发生改变同时将eax中add函数的返回值放到ebp-20中此时才是真正意义的返回
http://www.sczhlp.com/news/163012/

相关文章:

  • 做微商代理去哪个网站手机改ip地址软件免费
  • 为什么网站打不开网站开发的技术
  • 做网站包头百度网址大全下载安装
  • 网站如何加速做外贸去哪些网站找老外
  • 网站排名哪家好手机网站建设费用
  • html怎么弄成网站怎么给公司免费做网站
  • 企业做网站乐云seo快速上线企业品牌推广方案
  • 怎么诊断网站展示型网站建设报价
  • 完整网站建设案例教程网站游戏正规网站建设
  • 外贸网站建设优化推广网站 设计报价
  • 营销型企业网站建设流程闸北网站建设公司
  • 深圳网站建设 设计首选wordpress英文评论
  • 网站加载特效做旅游网站目的和意义
  • 网站的内容与功能设计wordpress管理员插件
  • 东莞大岭山天气广西网站建设智能优化
  • 新乡网站自然优化江油网站建设制作策划哪家专业
  • 凡科 360免费建站一对一直播网站开发
  • 8+1网站正能量直接入口没封注册卡wordpress
  • 婚纱照网站模板wordpress 更新超时
  • 国家生物信息数据下载
  • 手机销售网站源码设计网站公司的口号
  • 2025.10.3 NOIP 模拟赛
  • 详细介绍:【数据库知识】TxSQL 主从数据库同步底层原理深度解析
  • 阳江网站建设 公司汝城网站建设
  • 男女做污的事情网站php网站开发工程师找工作
  • 铁岭网站开发华为商城官网手机版app
  • 营销型网站建设策划书怎么写腾讯企点app
  • 建设网站需要支付什么插件费用吗行政单位建设网站方案
  • 网站集约化建设工作打算网页设计目的怎么写
  • 济阳做网站多少钱最爱网