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

青岛商务学校网站建设定制物品的app有哪些

青岛商务学校网站建设,定制物品的app有哪些,西宁做网站的公司,深圳网站设计有限公司目录 前言 一、内存大小的计算 1.规则 2.练习 二、为什么要有内存对齐 1.移植原因 2.性能原因 三、修改默认对齐数 总结 前言 本文针对结构体大小的计算进行深度剖析。结构体的大小要遵守内存对齐#xff0c;在绝大数情况下#xff0c;会浪费空间。但是有其的价值在绝大数情况下会浪费空间。但是有其的价值仔细阅读本文将会对内存对齐有深刻的认识知其本因。 一、内存大小的计算 1.规则 1. 第一个成员在与结构体变量偏移量为0的地址处 2. 从第二个成员开始以后每个成员都要对齐到某个对齐数的整数倍位置 这个对齐数是自身成员大小和默认成员对齐数的较小值 备注 vs环境下默认成员对齐数是8 3.当成员全部放入后结构体的总大小必须是所有成员对齐数中最大对齐数的整数倍   4.如果嵌套了结构体嵌套的结构体成员要对齐到自己成员的最大对齐数的整数倍处。 整个结构体的大小必须是最大对齐数的整数倍最大对齐数包含嵌套结构体的对齐数。 以上这是最常见的计算下面我将通过就几道题帮大家理解 2.练习 1计算大小 struct S1 {char c1;int i;char c2; }; 答案12 详解 以32位系统为例子 第一个char 类型c1 大小为1放在偏移量为0的位置上 第二个元素为int 大小为4要放在某个对齐数上这个对齐数是自身4和默认对齐数8的较小值  4  .所以i要放在4的倍数上离i最近的位置偏移量为4所以之前浪费了三个空间 第三个元素c2,要放在自身大小1和默认对齐数8的较小值1的倍数上由于i以及占用了7的位置所以c2要放在偏移量为8的位置上总计大小为13419 最后计算总结构体的大小成员最大对齐数是4 ,但是上述分析为9不满足4的倍数就要浪费3个空间到12上。 下面就通过一张图解来帮助理解 2)、计算大小 struct S2 {char c1;char c2;int i; }; 答案8 题解 第一成员c1在偏移量为0处。 c2对齐到在自身大小1与默认对齐数8的较小值1的整数倍处就是在1处。 i对齐到4的倍数处这里就是4之前浪费了2个空间 大小是11248 是成员最大对齐数4的整数倍所以结构体大小就是8 3、计算大小 struct S3 {double d;char c;int i; }; printf(%d\n, sizeof(struct S3)); 答案16 题解 d在偏移量为0处往后占8个空间 c要对齐到1的倍数处本题为9 i要对齐到4的倍数处本题要对齐到12之前浪费3个空间之后往后占4个空间 总大小813416 是成员最大对齐数8的整数倍所以结构体大小为16 4、结构体嵌套 struct S4 {char c1;struct S3 s3;double d; }; printf(%d\n, sizeof(struct S4)); 题解 c1在偏移量为0处往后占用一个空间 s3要对齐到某个对齐数的整数倍数处。由于s3是结构体结构体成员的对齐数是自己的最大对齐数也就是s3中d的对齐数所以要对齐到8处。往后占用16个空间 d要对齐到8的整数倍数处也就是24往后占用8空间 总大小17浪费空间16832是最大对齐数8的整数倍所以结构体大小为32 答案32 二、为什么要有内存对齐 1.移植原因 不是所有的平台都能访问任意空间的数据所有就要存在一个规定保证有效移植 2.性能原因 在32位上硬件在栈区访问一次是4字节存在内存对齐在访问相同数据时能减少访问次数。以空间换时间。 所以在设计结构体时尽量让内存小的成员放在一起 就比如题目1和题目2二者的成员变量相同但是顺序不同占用的空间大小不同 所以 结构体内存对齐的意义就是以空间换时间设计时尽量将小成员放一起。 三、修改默认对齐数 #pragma pack( 要修改的数) 修改默认对齐数一般都是2的n次方 总结 结构体内存对齐是常考点。在进行对齐时一般总会浪费掉空间但是却有利于移植有助于提升效率。内存对齐掌握上述的4条规则便可游刃有余。 我是凡凡感谢大家阅读
http://www.dnsts.com.cn/news/263977.html

相关文章:

  • 什么是营销型的网站推广做好网站 怎么要版权
  • 网站服务器备案查询网站备案软件开发工程师的岗位职责
  • 成都水高新区建设局官方网站西安 网站 高端 公司
  • 做网站跟app需要多少钱wordpress 打赏
  • 泰州网站建设电话wordpress超联系
  • 电商网站开发多少钱atp最新排名
  • 两学一做教育网站帝国cms源码
  • 网站制作哈尔滨安徽企业平台网站建设
  • 高端网站建设优化中国世界排名前100的大学
  • 网站内容管理规范网站建设销售策划方案
  • 设计得好的网站推荐江苏省建设职业中心网站
  • 哪家手机网站建设wordpress删除全部评论
  • 网站建设出现401教做凉拌菜的视频网站
  • 长沙专业做网站公司有哪些网站建设运营的灵魂是什么意思
  • 上海品牌网站建设公司排名开发网站需要什么技术2022
  • 怎样做平台网站seo的作用是什么
  • 哪个网站做的系统好用吗百姓网二手车买卖
  • 自己可以做一个网站吗公司网站后台上怎么上传图片呢
  • 行业网站推广什么意思临沂做企业网站
  • 网站首页被k 做跳转网站建设公司商务网站项目书
  • 网站设计开发的销售主要工作做网站专题页需要注意什么
  • 南宁网站建设nnxun网站设计与网页制作心得体会
  • 瑞丽市建设局网站用meteor框架做的微博网站
  • 庞各庄网站开发公司世界十大网站开发公司
  • 网站诊断方法租云服务器一个月多少钱
  • 网站建站维护运营郑州正规公司网站建设服务
  • 帮企业做网站的公司天津市建设 中标公示网站
  • 网站收录不好怎么办济南seo排名优化推广
  • 网站ps照片怎么做的wordpress生成静态地图
  • 网站建设北京网页微博登录