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

营销型网站单页seo论坛

营销型网站单页,seo论坛,app大全视频app大全,北京市住房和城乡建设厅官方网站一个被函数在栈上的情况:(栈从高地址向低地址延伸) 返回地址(函数执行结束后,会跳转到这个地址执行) BP(函数的栈基)局部变量返回值(指的是函数返回值,eg&am…

 

一个被函数在栈上的情况:(栈从高地址向低地址延伸)

  • 返回地址(函数执行结束后,会跳转到这个地址执行)
  •  BP(函数的栈基)
  • 局部变量
  • 返回值(指的是函数返回值,eg: a := function() ,这里的a就是返回值)(golang现在将返回值存到寄存器?待确认)
  • 参数
  • SP(函数栈指针)

函数栈帧会一次性分配,然后通过sp + 偏移量的方式来定位位置,当一个函数内调用多个函数时,会根据最大的函数栈帧来给每个函数分配栈帧。

call指令

在调用函数时,编译器会执行call指令,call指令主要有两步操作:

  1. 将下一条指令的地址入栈 (这里的下一条指令地址也就是返回地址)
  2. 将ip寄存器指向代码段的被调用函数处

ret指令

当函数执行完成后,编译器会执行ret指令:

  1. 将返回地址弹出
  2. 跳转到返回地址

一个函数被调用的完整顺序

call指令 ——> sp指针向下移动,分配足够大栈帧空间 ——> 将调用者栈基bp复制入栈(为区分记为bp1)——>将bp1存到寄存器——>执行函数——>将寄存器的值恢复为bp——>释放栈帧——> ret指令

return与defer的执行顺序:

  1. return给返回值赋值
  2. defer函数执行
  3. return返回返回值


详情见幼麟实验室 

 

http://www.hkea.cn/news/168708/

相关文章:

  • 在线转格式网站怎么做拼多多seo 优化软件
  • 成都理工疫情最新消息贵港seo
  • 网站如何防止攻击怎么自己做一个小程序
  • 企业网站建设英文百度收录
  • wordpress查版本sem和seo的区别
  • 网站设计说明书怎么写网站建设平台官网
  • 有建网站的软件阿里云域名注册万网
  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司