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

wordpress网站漏洞做自己的网站要多少钱

wordpress网站漏洞,做自己的网站要多少钱,wordpress身份认证,单页网站制作系统C中的引用是指已有对象的别名&#xff0c;可以通过该别名访问并修改被引用的对象。那么其背后的原理是什么呢&#xff1f;引用是否会带来额外的开销呢&#xff1f;我们从一段代码入手&#xff0c;来分析一下引用的本质。 #include <stdio.h> int main() {int a 10;int …

C++中的引用是指已有对象的别名,可以通过该别名访问并修改被引用的对象。那么其背后的原理是什么呢?引用是否会带来额外的开销呢?我们从一段代码入手,来分析一下引用的本质。

#include <stdio.h>
int main()
{int a = 10;int &b = a;b = 11;return 0;
} 

如上所示:定义了一个int型变量a,以及一个int型的引用b,并指向a。最后将b的值修改为11。

我们来看一下它对应的汇编代码:

      1  pushq   %rbp2  movq    %rsp, %rbp        //rbp = rsp 3  movl    $10, -12(%rbp)   //*(rbp-12) = 104  leaq    -12(%rbp), %rax  //rax = rbp - 125  movq    %rax, -8(%rbp)  //*(rbp - 8) = rax6  movq    -8(%rbp), %rax  //rax = *(rbp - 0x8)7  movl    $11, (%rax)     //*rax = 11;8  movl    $0, %eax9  popq    %rbp10  ret

我们来逐行分析:

先来介绍两个寄存器:

rsp:栈顶指针寄存器,rbp:栈基址指针寄存器。前两行push %rbp,以及move %rsp, %rbp。是保存函数调用之前的上下文信息,以及让rbp等于rsp。即此时main函数的栈空间是空的,这两条指令相当于main函数的准备工作。此时main函数的调用栈如下所示:

接下来:movl    $10, -12(%rbp),是将一个立即数写入rbp-12这个地址中,写入栈空间如下所示:

通过对比源代码,发现这条指令对应的是这行:int a = 10。接下来leaq    -12(%rbp), %rax,是将rbp-12的地址加载进rax, 即rax = rbp-12。也就是变量a的地址。接下来movq    %rax, -8(%rbp),即将rax(rax为rbp-12)写入rbp-8这个地址。执行完这条之后,栈上的分布如下:

即将rbp-12存入rbp-8这个地址中。rbp-12即是a的地址。这里其实就是引用的一个实现。接下来:movq    -8(%rbp), %rax,即将rbp-8地址里的内容(即rbp-12)赋值给rax, 即rax = rbp-12。接下来:movl    $11, (%rax) ,即将立即数11赋值给rax所指地址。rax为rbp-12, 那么rbp-12这个地址中的内容将被赋值为11。rbp-12即a的地址,那么执行完这条指令之后,a的值将被更新为11。栈上的分布如下:

对应源码即是b=11。此时,已经完成了通过引用将被引用对像值更新的过程。由此,我们可以看出,C++中引用实现的本质就是指针,即通过存储被引用对象的地址来实现。但是它比指针更加安全,可以认为是一个指针的语法糖。

此文对应的B栈视频如下:

用汇编揭秘C++引用的本质,豁然开朗_哔哩哔哩_bilibili

http://www.dtcms.com/wzjs/782458.html

相关文章:

  • 如何给网站做右侧悬浮电话广州番禺区工商职业技术学校
  • 深圳网站建设服务器超值的网站建设
  • joomla网站模板孟村网站建设价格
  • 郑州汉狮做网站网络公司网站备案密码
  • 微网站开发语言做网站能月入10万
  • 网站开发程序流程图网站开发流程抚州
  • 塘厦做网站杭州公司网站建设
  • 集团高端网站建设最有创意促销活动方案
  • 长沙企业网站排名科普网站建设
  • 长春设计网站个人网店和网站的区别
  • 长春网络传媒做网站骗钱动漫网站建设规划书模板
  • 家具公司网站源码牡丹江建设信息网站
  • 信息化建设网站做网站小程序挣钱吗
  • 网站建设前台和后台设计大兴企业官网网站建设报价
  • 网站建设如何来选择空间东莞热点网站建设
  • 广州物流网站建设上海市企业服务云十问十答
  • 网站怎么做购物车国外 设计网站
  • 一起做英语作业网站crm系统有哪些品牌
  • 建设部网站官网办事大厅广告设计费
  • seo优化文章网站门户建设是什么意思
  • 网站页面设计说明怎么写单页面销售网站
  • 个人网站收款python基础教程怎么样
  • 做网站人家直接百度能搜到的房地产客户管理系统
  • 做网站的人怎么联系厦门市建设厅网站
  • 唐山手机网站建设帮人做网站收多少钱
  • wordpress网站服务器旅行网站模板
  • 工装网站建设方案珠海网站建设推广公司
  • 成都网站建设制作设计北京网络营销哪里实惠
  • 设计建设网站公司asp.net 网站开发
  • 深圳网站建设报价织梦网站备案