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

网站开发下载功能如何实现陕西汽车网站建设

网站开发下载功能如何实现,陕西汽车网站建设,wordpress自动视频播放器代码,军队采购网看山是山#xff0c;看山不是山#xff0c;最终看山才是山#xff0c;并且是无穷的山峦。当我们学习一门技术的时候#xff0c;起初是先模仿#xff0c;但是最终是为了超越#xff0c;也就是得到秘籍#xff0c;看到本质。于是#xff0c;今天来继续看可变参数#xf… 看山是山看山不是山最终看山才是山并且是无穷的山峦。当我们学习一门技术的时候起初是先模仿但是最终是为了超越也就是得到秘籍看到本质。于是今天来继续看可变参数我们来分析这个过程代码如下声明int add (int num,...);...会说明是个可变函数这样子编译器在编译遇到的函数的地方就知道自动解析依据传入的参数直接进行进栈从而不需要报错。我们默认的函数如果声明是两个参数调用的是三个参数的话最终会出错会提示你找不到实现体。声明完了后实现函数然后我们在使用的地方直接传入多个参数就不会出问题。我们这里要看下add里面的具体实现第一个参数我们利用这个值用来判定长度循环的结束点。然后使用va_start 来卡找到第一个参数的地址我这节画个图大家就能理解了。再一个你也就明白了为什么是int addint num,...而不是int add...; 因为如果是这个你实现的时候就没法定位到起始地址导致你无法解析后续的参数这个明白了吧。所以编译时候系统会提示错误规定...参数前面必须有一个有名参数否则系统编译的时候你在实现体里面无法做处理。这里就是 va_start(valist,num);然后我们使用va_arg 去获取后续的参数第一个是起始地址第二个是后面紧跟着的数据该以哪个大小去解析。我们这里是int都是这个尺寸所以用了循环。在printf里面使用的是%s %f这类处理依据这个会变化。使用完成后就可以用va_end来结束指针。我们如果把调用地方改成add5,ab最终能输出出来结果但是非常乱原因很简单这里的第一个参数5让遍历寻找了栈上面的一些脏数据导致结果未知。我们如果把int b6改成float b6会发生什么神奇的现象呢出现了神奇的结果原因很简单float 进入栈的时候占用的空间比int大但是我们执行的时候用了int大小去解析了这个数据导致出现问题。我们来看下如何修正这个问题就需要格式化处理了第一个参数我们把它调整下变成char *format我们把代码改成这个为什么这里有float变为了double主要是方便系统进行处理升级后你 解析的时候就要用double去解析否则的话你处理完数据ap指针就没有指到下一个位置导致出错。不过这个问题现在你不需要担心如果你没有写对系统会在编译时候提醒你直接系统报错让你去修改的。这样子看下来是不是觉得可变参数也没多神奇了简单说下就是编译器支持...让函数参数可变同时保留一个有名参数让实现体可以用这个去定位到起始位置然后进行遍历解析完成逻辑处理。我们把这个再抽象一层简单来说就是一组数据约束存放在一起然后我们依据一个格式化参数对这个数据进行解析处理。当你看到这个的时候就突然明白协议的概念。协议就是约定约定双方同时遵循一个规则同时遵守就是协议。TCP/IP协议ELF文件解析协议。当你抽象到这里基本上就大彻大悟一切处理都是协议头 数据( 校验)。在今天最后我们来看下反编译后的代码就明白了第一个参数的地址的意义我这里用的int b6;原因是如果是float的话指令会比较复杂不方便我们学习。这里可以看到我们地参数是 %d,%d  a b  这三个在汇编代码中可以看到rbp-0x8 放的是b的值6rbp-0xc 放的是a的值5rbp-0x14放着一个地址4007ec这地方就是%d,%d 常量字串位置所以我们add函数实现里面fmt拿到的就是rbp-0x14的地址也就是第一个参数随后的解析就是依据给的格式把对应数据解析出来移动指针ap的位置到合适地方依据对齐原则以及sizeof(数据类型)声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。
http://www.yutouwan.com/news/98597/

相关文章:

  • 台州铭企做的网站设计制作一个生态瓶
  • 南宁网站关键词推广如何查网站是哪家公司做的
  • 做垂直网站什么是网站的功能模块
  • 上传文件到网站根目录深圳建站公司优化
  • 佛山品牌网站建设培训前端网站开发
  • 网站建设设计技术方案模板下载app资源网站开发
  • 南通网站建设祥云南阳seo优化公司
  • 网站设计公司营销crm系统杭州江干区抖音seo哪里有
  • 网站制作公司重庆网站设计实施方案
  • 网站开发技术方法与路线推广链接点击器安卓版
  • 自开发购物网站湖南整合营销公司
  • 别人做的网站如何要回服务器金科科技 做网站
  • 相亲网站做期货现货贵金属的人网站管理系统后台
  • 网站首页设计要求wordpress建企业门户
  • 校园文化建设图片网站网络推广的方法有
  • 编程网站入口广东深圳职业技术学院
  • 专门做外国的网站有哪些个人主页怎么填写
  • 义务网站建设网页制作技术有哪些
  • 设计素材网站免费大全最新三线建设网站
  • 广东官网网站建设品牌可以显示文章列表的wordpress主题
  • 国外建设网站用的是什么软件18款禁用黄app入口直接看
  • 静态网站生成苏州百度推广公司地址
  • 有域名之后怎样进行网站建设帮助设计的网站
  • 下载asp网站那个网站开发三味
  • 网站建设属于技术开发吗网络运营有前途吗
  • 自己做网站要钱么沈阳计算机培训短期速成班
  • 网站建设捌金手指下拉六渭南网站建设seo
  • 合肥网站设计制作深圳产品网站建设
  • iis网站权限设置仿站教程
  • 厦门专业做网站公司直接玩的网页游戏