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

常州网站定制app网站开发合同

常州网站定制,app网站开发合同,哪有恶意点击软件买的,特产网站建设方案1. 什么是 this 指针 C 中的 this指针是一个由系统维护的指针#xff0c;其指针本身的地址存储在某个内存位置#xff0c;对程序员不可见(程序员不能取得其地址)#xff0c;其仅在当前定义的实体的函数体内可见。 当任何外部函数调用实体的函数时#xff0c;系统会将该实…1.   什么是 this 指针 C 中的 this指针是一个由系统维护的指针其指针本身的地址存储在某个内存位置对程序员不可见(程序员不能取得其地址)其仅在当前定义的实体的函数体内可见。 当任何外部函数调用实体的函数时系统会将该实体的地址存入this指针进入函数后就可以通过该this指针访问实体的成员(数据和函数)。 2.   例释 this 指针(以windows 64位平台为例) 为了简单起见我们定义一个结构体并定义一个函数,使用默认构造函数 struct DataEntity { __int64 m 10; __int64 n 20; __int64 Add() { return m n; } }; 调用代码 DataEntity data; __int64 total data.Add(); 实现分析(汇编代码)下面通过其生成的汇编代码来分析其实现过程。 (1) 调用构造函数 DataEntity data; 00007FF689FF5073  lea   rcx,[data]  将实体的地址存入寄存器 rcx (调用构造函数传参用) 00007FF689FF5078  call  DataEntity::DataEntity (07FF689E76F55h)  ;调用构造函数 下面进入构造函数 DataEntity::DataEntity(void): 00007FF7946A13F0  mov         qword ptr [this],rcx  ;将实体地址存入this指针 ;在每一个生成函数中都会在进行正式操作前插入这样一段代码先将实体地址存入this指针 ;以便程序员后续利用 this指针操作该对象的成员。 00007FF7946A13F5  mov     rax,qword ptr [this]  ;取得this存储的对象地址 00007FF7946A13FA  mov     qword ptr [rax],0Ah  ; 将 10 送入 m 因为此时寄存器 rax 存放的是实体的首地址其首地址就是 m 的地址。 00007FF7946A1401  mov     rax,qword ptr [this]  ;再取this存储的对象地址存入寄存器 rax 00007FF7946A1406  mov     qword ptr [rax8],14h  ;地址8正好是n的内存位置将20送入 n 的地址指向的内存 00007FF7946A140E  mov     rax,qword ptr [this]  ; 将 this 指针送入寄存器 rax 以备使用 00007FF7946A1413  ret  ; 操作完成函数返回 注意该 this 指针在函数调用期间保持不变。 (2) 调用自定义函数 __int64 total data.Add(); 00007FF79481507D  lea     rcx,[data]  将实体的地址存入寄存器 rcx (调用构造函数传参用) 00007FF794815082  call    DataEntity::Add (07FF794696F64h)  调用函数 00007FF794815087  mov     qword ptr [total],rax ;从rax取出计算结果送入total 内存。 进行被调函数内部流程 __int64 Add() { 00007FF7946A12F0  mov         qword ptr [this],rcx  ; 取出实体地址存入 this return m n; 00007FF7946A12F5  mov         rax,qword ptr [this]  ;得取this 00007FF7946A12FA  mov         rax,qword ptr [rax]  ; m 值送入寄存器 rax 00007FF7946A12FD  mov         rcx,qword ptr [this] 得取this 00007FF7946A1302  add         rax,qword ptr [rcx8]  rcx8n的地址将n加到rax(m) } 00007FF7946A1306  ret  函数返回寄存器rax的值即为计算结果上述标红的部分即从rax取 出结果在 Windows X64 加构下约定使用 rax 传递返回值。
http://www.hkea.cn/news/14587836/

相关文章:

  • 免费建站地方汽车网站模板购买
  • 丹徒网站建设平台wordpress淘宝联盟插件
  • 网站目的及功能定位女孩子学广告设计好找工作吗
  • 网站制作怎么学怎么防止网站被注册机
  • 网站建设课程设计格式1 建设网站目的是什么意思
  • 企业网站有哪些举例ido手表官网
  • 银川网站建设那家好建设网站经营范围
  • 自己做网站可以随便起名字吗安徽电子工程学校
  • 黑龙江 网站开发做平台好还是自己建网站
  • 网站结构怎么做适合优化能免费做封面的网站
  • 网站开发的开题报告引言网站管理助手4.0 mysql
  • 用户体验 网站wordpress.shop
  • 网站上的咨询窗口是怎么做的网络推广公司营销策划
  • 购物网站app制作张家港城市建设规划局网站
  • 网站建立初步网站建设公司行业描述
  • 网站建设需要ftp只做硬件网站
  • 北京网站优化企业微信小程序怎么做网站
  • 江苏宏远建设集团网站网站建设前期要多久
  • 网站建设还好做吗wordpress 主题 个人
  • 运城门户网站建设wordpress和淘宝客程序
  • 江西企业网站定制山东东营信息网
  • 网站建设人才有哪些网站建设现状和前景
  • 网站基础建设和维护怎么做网站卖美瞳
  • 自己做的优惠卷网站怎么进商品iis 新建网站 没有注册类别
  • 建设建设部网站最新军事热点
  • 外包网站开发哪家好住房建设部官方网站办事大厅
  • 台州网站制作定制工商局官网查询营业执照
  • 易奇秀网站重庆市建设工程造价信息
  • 番禺高端网站建设公司哪家好惠普gen8可以做网站吗
  • 如何修改公司网站内容国外建站vps