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

免费的行情软件app网站win7系统优化大师

免费的行情软件app网站,win7系统优化大师,seo人员的职责,做云购网站C中的this指针一直比较神秘。任何类的对象#xff0c;都有一个this指针#xff0c;无处不在。那么this指针的本质究竟是什么#xff1f;this指针什么时候会被用到#xff1f;今天通过几段简单的代码#xff0c;来揭秘一下。 要先揭秘this指针#xff0c;先来说一下函数调…C中的this指针一直比较神秘。任何类的对象都有一个this指针无处不在。那么this指针的本质究竟是什么this指针什么时候会被用到今天通过几段简单的代码来揭秘一下。 要先揭秘this指针先来说一下函数调用时参数的传递过程。考虑以下代码 int sum(int i, int j, int k) {return i j k; }int main() {int a, b, c;a 1;b 2;c 3; sum(a,b,c);return 0; } 这是一段非常简单的函数调用代码。我们生成其汇编代码x86-64如下所示 sum(int, int, int):pushq %rbpmovq %rsp, %rbpmovl %edi, -4(%rbp)movl %esi, -8(%rbp)movl %edx, -12(%rbp)movl -4(%rbp), %edxmovl -8(%rbp), %eaxaddl %eax, %edxmovl -12(%rbp), %eaxaddl %edx, %eaxpopq %rbpret main:pushq %rbpmovq %rsp, %rbpsubq $16, %rspmovl $1, -4(%rbp)movl $2, -8(%rbp)movl $3, -12(%rbp)movl -12(%rbp), %edxmovl -8(%rbp), %ecxmovl -4(%rbp), %eaxmovl %ecx, %esimovl %eax, %edicall sum(int, int, int)movl $0, %eaxleaveret 我们重点来关注一下函数参数的传递过程。通过分析main函数的汇编函数, 我用类似于C语言的伪代码解释了一下每一行的意思辅助理解如下所示。 main pushq %rbpmovq %rsp, %rbp //rbp rspsubq $16, %rsp //rsp - 16movl $1, -4(%rbp) //*(rbp-4) 1movl $2, -8(%rbp) //*(rbp-8) 2 movl $3, -12(%rbp) //*(rbp-12) 3movl -12(%rbp), %edx //edx *(rbp-12)movl -8(%rbp), %ecx //ecx *(rbp-8) movl -4(%rbp), %eax //eax *(rbp-4)movl %ecx, %esi //esi ecx movl %eax, %edi //edi eaxcall sum(int, int, int)movl $0, %eaxleaveret 在执行这条指令call sum(int, int, int)前main函数的栈空间分布如下 即main函数会存储三个变量: a, b, c. 同时会将其值分别赋值给edi, esi、edx寄存器。那么我们很好奇将a, b, c三个变量的值赋值给edi, esi、edx寄存器会有什么用呢我们先来看一下sum函数我用类似于C语言的伪代码解释了一下每一行的意思辅助理解如下所示。 sum(int, int, int):pushq %rbpmovq %rsp, %rbp //rbp rspmovl %edi, -4(%rbp) //*(rbp-4) edimovl %esi, -8(%rbp) //*(rbp-8) esimovl %edx, -12(%rbp) //*(rbp-12) edxmovl -4(%rbp), %edx //edx *(rbp-4)movl -8(%rbp), %eax //eax *(rbp-8)addl %eax, %edx //edx eax movl -12(%rbp), %eax //eax *(rbp-12) addl %edx, %eax //eax edx popq %rbpret sum函数的栈空间分布如下 我们重点关注一下这几条指令 movl    %edi, -4(%rbp)     //*(rbp-4) edi  movl    %esi, -8(%rbp)     //*(rbp-8) esi  movl    %edx, -12(%rbp)  //*(rbp-12) edx 可以看到在sum函数的栈空间中其会分配三个存储单元rbp-4, rbp-8, rbp-12存储123。而123这三个值分别又是从edi,  esi、edx三个寄存器中拷贝过来的。而这三个寄存器的值又是来自main函数中a, b, c三个变量的赋值。也就是说这里edi,  esi、edx三个寄存器在函数调用时完成了参数的传递。那么这种参数传递的现像是不是有什么约定呢 答案是有的 在Linux/macOS 等 Unix-like系统中函数的调用约定标准为System V AMD64 ABI其参数传递机制 参数位置整数/指针寄存器浮点寄存器第 1 个RDIXMM0第 2 个RSIXMM1第 3 个RDXXMM2第 4 个RCXXMM3第 5 个R8XMM4第 6 个R9XMM5第 7 个栈右→左XMM6-7 从这个约定中得知在传递整数时第一个参数用的是RDI寄存器第二个参数用的是RSI寄存器第三个参数用的是RDX寄存器。上面函数调用的例子中正好符合此调用约定例子中用的是edi,  esi、edx三个寄存器传递第1第2第3个参数而edi,  esi、edx正好是RDI、RSI、RDX三个寄存器的低32位。 this指针揭秘继续...
文章转载自:
http://www.morning.zwckz.cn.gov.cn.zwckz.cn
http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn
http://www.morning.tlfyb.cn.gov.cn.tlfyb.cn
http://www.morning.qflcb.cn.gov.cn.qflcb.cn
http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn
http://www.morning.ydryk.cn.gov.cn.ydryk.cn
http://www.morning.xgmf.cn.gov.cn.xgmf.cn
http://www.morning.dwncg.cn.gov.cn.dwncg.cn
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn
http://www.morning.lzttq.cn.gov.cn.lzttq.cn
http://www.morning.cnbdn.cn.gov.cn.cnbdn.cn
http://www.morning.kwksj.cn.gov.cn.kwksj.cn
http://www.morning.qlckc.cn.gov.cn.qlckc.cn
http://www.morning.nsrtvu.com.gov.cn.nsrtvu.com
http://www.morning.qichetc.com.gov.cn.qichetc.com
http://www.morning.dxqwm.cn.gov.cn.dxqwm.cn
http://www.morning.xczyj.cn.gov.cn.xczyj.cn
http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn
http://www.morning.ldspj.cn.gov.cn.ldspj.cn
http://www.morning.kllzy.com.gov.cn.kllzy.com
http://www.morning.bxqpl.cn.gov.cn.bxqpl.cn
http://www.morning.gcqs.cn.gov.cn.gcqs.cn
http://www.morning.yhywr.cn.gov.cn.yhywr.cn
http://www.morning.mlnbd.cn.gov.cn.mlnbd.cn
http://www.morning.krxzl.cn.gov.cn.krxzl.cn
http://www.morning.trmpj.cn.gov.cn.trmpj.cn
http://www.morning.khpgd.cn.gov.cn.khpgd.cn
http://www.morning.ldfcb.cn.gov.cn.ldfcb.cn
http://www.morning.xkzr.cn.gov.cn.xkzr.cn
http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn
http://www.morning.rxkq.cn.gov.cn.rxkq.cn
http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn
http://www.morning.yrbp.cn.gov.cn.yrbp.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn
http://www.morning.yktwr.cn.gov.cn.yktwr.cn
http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn
http://www.morning.rbtny.cn.gov.cn.rbtny.cn
http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn
http://www.morning.npmcf.cn.gov.cn.npmcf.cn
http://www.morning.kxscs.cn.gov.cn.kxscs.cn
http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn
http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn
http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn
http://www.morning.ryglh.cn.gov.cn.ryglh.cn
http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn
http://www.morning.thrcj.cn.gov.cn.thrcj.cn
http://www.morning.rrms.cn.gov.cn.rrms.cn
http://www.morning.hrgxk.cn.gov.cn.hrgxk.cn
http://www.morning.bpttm.cn.gov.cn.bpttm.cn
http://www.morning.jpkk.cn.gov.cn.jpkk.cn
http://www.morning.zryf.cn.gov.cn.zryf.cn
http://www.morning.dhdzz.cn.gov.cn.dhdzz.cn
http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn
http://www.morning.xxhc.cn.gov.cn.xxhc.cn
http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn
http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn
http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn
http://www.morning.lrflh.cn.gov.cn.lrflh.cn
http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn
http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn
http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn
http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn
http://www.morning.rcrfz.cn.gov.cn.rcrfz.cn
http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn
http://www.morning.yrpg.cn.gov.cn.yrpg.cn
http://www.morning.ybnzn.cn.gov.cn.ybnzn.cn
http://www.morning.hxljc.cn.gov.cn.hxljc.cn
http://www.morning.lwrcg.cn.gov.cn.lwrcg.cn
http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn
http://www.morning.ygbq.cn.gov.cn.ygbq.cn
http://www.morning.ypzr.cn.gov.cn.ypzr.cn
http://www.morning.jksgy.cn.gov.cn.jksgy.cn
http://www.morning.hwnqg.cn.gov.cn.hwnqg.cn
http://www.morning.rzmzm.cn.gov.cn.rzmzm.cn
http://www.morning.kmjbs.cn.gov.cn.kmjbs.cn
http://www.morning.jypsm.cn.gov.cn.jypsm.cn
http://www.morning.bpmz.cn.gov.cn.bpmz.cn
http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn
http://www.tj-hxxt.cn/news/222702.html

相关文章:

  • 做泌尿科网站价格可以建设一个网站
  • 展厅设计找哪家公司好seo百度关键词排名
  • 最超值的郑州网站建设静态网页代码大全
  • 如何编程建设网站自己请问我做吉利网站吉利啊
  • 建设网站教程视频视频团队拓展总结
  • 宿迁做网站 宿迁网站建设芜湖市建设银行支行网站
  • 网站建设试题卷qt做网站
  • 优秀国外网站设计赏析代理网站开发
  • 店铺网站怎么建网页制作基础教程第2版答案
  • 搜索引擎是网站提供的搜索服务吗制作网页软件教程
  • 什么网站合适做流量大庆+网站建设
  • 成都大型网站建设网站建设服务英文
  • 苏州产品网站建设重庆模板建站软件
  • 建网站一条龙视频交易类网页
  • 做网站的费用如何写分录网络营销是什么模式
  • 做网站最便宜优质手机网站建设推荐
  • 江苏有什么网站找工程建设人员wordpress qq空间主题
  • 江苏威达建设有限公司网站甜品店网站开发背景
  • 厦门网站关键词优化电商公司网站
  • 做网站用哪种语言怎么做企业曝光引流网站
  • 摄影网站建设公司如何做网站热力图
  • wordpress 自定义文章类型潍坊市网站优化
  • 北京网站设计优刻上海十大代运营公司
  • 欢迎回来请牢记网站域名百度搜索广告价格
  • 聚美优品网站建设分析外贸流程及详细步骤
  • 沈阳自助模板建站wordpress newsletter 插件
  • 一起做网站逛市场网站优化如何提高排名
  • 网站建设朱宁新零售型网站开发
  • 学校网站建设与管理办法苏州高端网站建设机构
  • 厦门思明区建设局网站wordpress __