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

查询网站访问量网站做图标链接

查询网站访问量,网站做图标链接,动画设计专业好的学校,百度账号中心官网有一个建议说时函数传递参数最好不超过四个#xff0c;原因有一个是参数太多难以维护#xff0c;另一个重要的原因就是函数传递小于四个参数时候效率会更高#xff0c;其实这个说法也不全对#xff0c;在不同的结构下不太一样#xff0c;也不一定是4 其实那么下面将探究函…有一个建议说时函数传递参数最好不超过四个原因有一个是参数太多难以维护另一个重要的原因就是函数传递小于四个参数时候效率会更高其实这个说法也不全对在不同的结构下不太一样也不一定是4 其实那么下面将探究函数参数传递相关的问题 X86架构 这里拿比较常用的cdecl举例先来一个简单的函数去传递六个参数去看传递的过程 #include stdio.h #include stdlib.hint foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) { int array[] {arg1, arg2, arg3, arg4, arg5, arg6};return 0; } int main () {foo(1, 2, 3, 4, 5, 6);return 0; } foo(1001, 1002, 1003, 1004, 1005, 1006)的反汇编 ESP为栈顶每条都将一个立即数常量值存储到相对于堆栈指针esp偏移一定字节数的位置也就是将这四个参数进行了压栈处理 int array[] { arg1,arg2,arg3,arg4,arg5,arg6 }的反汇编 会发现每回都从栈[rsp0xXX]里面取到一个参数并放到array里面 X86的参数传递调用约定 在32位的调用约定有cdecl(C标准)stdcall(WinAPI默认)fastcall三种 cdeclstdcall下规定参数传递顺序为从右到左依次压栈 fast下规定参数1、参数2、参数3、参数4分别保存在 RCX、RDX、R8D、R9D 剩下的参数从右往左一次入栈 X64架构  传递6个参数 #include stdio.h #include stdlib.hint foo (int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) { int array[] {arg1, arg2, arg3, arg4, arg5, arg6};return 0; } int main () {foo(1, 2, 3, 4, 5, 6);return 0; } foo(1001, 1002, 1003, 1004, 1005, 1006)的反汇编 可以发现1234四个变量分别存入到了EAXEDX, R8D, R9D中了 但是多出去的56两个变量传递也压到了栈里面 后面的过程1234四个值会直接从EAXEDX, R8D, R9D四个寄存器中拿到 而56就需要[rsp0x28]和[rsp0x20]中拿到了 X64的调用约定 参数1、参数2、参数3、参数4分别保存在 RCX、RDX、R8D、R9D 剩下的参数从右往左一次入栈 ARM架构 ARM的CPU结构和X86不一样所以寄存器的命名不一样 和X64方式差不多前四个参数放到了r1,r2,r3,r4四个寄存器中剩下的也进行了压栈 Arm的调用约定 ARM和ARM64使用的是ATPCS(ARM-Thumb Procedure Call Standard/ARM-Thumb过程调用标准)的函数调用约定 参数1~参数4 分别保存到 R0~R3 寄存器中 剩下的参数从右往左一次入栈被调用者实现栈平衡返回值存放在 R0 中 区别和结论 当直接访问寄存器的时候不进行内存访问CPU访问寄存器的速度大概在1-2个时钟周期 当你从[rsp0xXX]获取数据时实际上是在进行一次内存访问内存访问的时钟周期大概在几十到上百之间但是现代CPU的chche的结构会缩短这个时间但是远远和直接访问寄存器的访问速度差的很远 可见在特定的结构中参数数量会对程序访问参数的速度有着一定的影响
http://www.hkea.cn/news/14334018/

相关文章:

  • 湘西网站建设吧在国际网站上做贸易怎么发货
  • ps个人网站的首页界面电子商务平台建设计划书
  • 商城网站建设信息百度爱采购怎样入驻
  • 个人网站模块wordpress售后退货插件
  • 金华哪里做网站网站建设昆山博敏
  • 弹簧机东莞网站建设福建建设建设厅官方网站
  • 樱桃企业网站管理系统越秀区建设水务局网站
  • 沙坪坝网站开发天津做网站优化公司
  • 温州网站建设服务中心购物网站有哪些模块
  • 创意 国外 网站泰安网站建设课程报告
  • 展示型网站建设流程图怎么样百度能搜到自己的网站
  • phpcms v9网站地图开源商城
  • 社旗微网站开发荆门网站制作公司
  • 站长之家alexa排名怎么看晋城网站建设公司
  • 国际交流中心网站建设与管理制度wordpress移动端seo优化
  • 佛山网站建设企业报价商学院网站建设建议
  • 淘宝客cms建站教程公司用什么邮箱好
  • 企业网站seo多少钱wordpress主题好看的
  • 韩国风格网站模板下载wordpress哪个php版本好
  • 西安网站建设 至诚有了网站源码如何做网页
  • 郑州教育培训机构网站建设微营销平台系统
  • 网站开发发展趋势2018淘宝客可以做返利网站吗
  • 上海网站开发公司哪家好网站后台查找软件
  • 钉钉网站建设服务协议建站如何赚钱
  • 网站制作400哪家好中国国防新闻
  • 有没有做京东客好的网站推荐建网站的公司赚钱吗
  • 做网站哪个公司好 快选宁陵建站宝电商设计网站有哪些功能模块
  • php完整电商网站开发源码刷关键词优化排名
  • 滨河网站建设成都的做网站公司
  • 医疗器械网站建设策划书四川网站建设贴吧