内存对齐的目的和原理 内存对齐的目的和规则?

内存对齐的目的和规则?

有四种内存对齐原则:

内存对齐的目的和原理 内存对齐的目的和规则?

1)。数据成员对齐规则:结构(或联合)的数据成员。第一个数据成员放置在偏移量为0的位置。之后,每个数据成员存储的起始位置从该成员大小或其子成员大小的整数倍开始(只要该成员有子成员,如数组、结构等)(例如,在32位计算机中int为4字节,则应从4的整数倍地址开始存储)。基本类型不包括struct/class/Uinon。

2) . struct as member:如果一个结构中有一些结构成员,那么应该从结构中“最宽的基本类型成员”的整数倍地址存储结构成员。(结构a包含结构B,而B包含char、int、double和其他元素,那么B应该从8的整数倍存储。)。

3) . 收尾工作:结构的总尺寸,即sizeof的结果,必须是结构内部最大构件的“最宽基本型构件”的整数倍。弥补不足。(基本类型不包括struct/class/Uinon)。

4) . sizeof(Union),结构中最大的元素是Union的大小,因为在特定时间,只有Union的一个成员实际存储在地址中。

内存对齐的规则?

为了加快计算机的访问速度,编译器在默认情况下对内存进行字节对齐。结构(包括类)字节对齐的原则如下:

1)结构变量的第一个地址可以除以其最宽的基本类型成员的大小;

2)结构的每个成员相对于结构的第一个地址的偏移量是成员大小的整数倍。如果需要,编译器将在成员之间添加内部加法;

3)结构的总大小是结构最宽基本类型成员大小的整数倍。如果需要,编译器将在最后一个成员之后添加尾随填充。Structsbyte1{double//offset 0~7charj//offset 8inta//offset 12~15,因为9不能被4除,请先填写9~11}sizeof(sbyte1)//=16structsbyte2{charj//offset 0double//offset 8~15,因为1不能被8除,请先填写1~7inta//offset 16~19}sizeof(sbyte2)//=24,为了得到8的倍数,填写20~23

标签:

最新文章

  1. 重庆到哪里去放风筝合适(重庆园博园可以放风筝吗?)2025-03-20
  2. 如何使用WPS电子表格进行快速数据比对2025-03-11
  3. 把文件发到邮箱怎么发 怎么往邮箱里传文件?2025-03-14
  4. win7电脑自带ie浏览器怎么恢复 win7提示ie已停止工作怎么办?2025-03-09
  5. 杭州到南昌汽车(杭州到南昌汽车需要几小时?)2025-03-22
  6. 常州房地产信息网查询 常州备案价查询哪里查?2025-03-21
  7. iphone一直显示空心定位图标 iPhone定位图标从实心变成空心了是怎么回事?2025-04-01
  8. 如何取消网易云音乐收到赞的通知2025-03-14
  9. 阿里云com域名注册 在腾讯云注册的域名怎么在阿里云解析?2025-03-20
  10. 达芬奇最后的晚餐寓意,达芬奇作品最后的晚餐?2025-03-24
  11. 纯植物染发,用什么植物染头发好?2025-03-24
  12. 路由器用着突然显示无法上网 路由器无法连接互联网2025-03-16
  13. 根据您提供的内容,我将重新撰写一篇关于在uki假装情侣应用中如何继续聊天和关注的文章,每个段落使用h2标签。以下是新的内容:2025-03-06
  14. java连接redis哨兵模式 Redis如何分析慢查询操作?2025-03-29
  15. 为什么电脑wifi可以手机却老是断 为什么wifi控制器手机可以连电脑不可以?2025-03-13
  16. 360收录提交申请 百度和360搜索哪个好?2025-03-26
  17. 网络营销的方法有哪些? 网络营销模式与传统营销模式的区别?2025-03-29
  18. 如何用PPT绘制优质的苹果App Store图标2025-03-08
  19. 苹果充电器突然不支持此配件 苹果手机充电时显示不支持此配件有什么方法解决?2025-03-28
  20. 好看的商标logo设计 有哪些提供设计图片素材的网站?2025-03-30
  21. 远程推送 红米Note3如何关闭软件自动推送消息?2025-03-31
  22. windows桌面应用程序开发 请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?2025-03-31
  23. 苹果ios字体下载 苹果怎么设置app内的字体大小?2025-03-31
  24. 网页设计需要学什么软件 学UI设计好,还是网页设计好?2025-03-31
  25. 多多教程网 中小学教师利用业余时间不违规增加一些收入的途经有哪些?2025-03-26
  26. php教程 asp.net如何开发手机版网页?2025-04-01
  27. cf战队介绍(cf端游联赛最强的战队是哪个?)2025-03-22
  28. js的4种选择器 web前端学习教程流程有什么?2025-03-30
  29. 便宜购物app 开发一个商城APP需要多少钱?如何自己搭建一款APP软件?2025-03-30
  30. 苹果电脑怎样隔空传送给手机 苹果相册照片怎么远程发送到电脑?2025-03-23
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 等比数列前n项和公式 前缀表达式的公式用法?

    前缀表达式的公式用法?前缀表达式是一个非常有用的表达式,它将中缀表达式转换成可以通过简单操作得到运算结果的表达式。例如,(a,b)*(C,d)转换成*、a、b、C、d,它的优点是只需两个简单的运算,即stack-in和stack-out,就

  2. 2 四叉树结构 满二叉树和完全二叉树的区别?

    满二叉树和完全二叉树的区别?完全二叉树和完全二叉树的区别:完全二叉树是从完全二叉树派生出来的。深度为K且节点数为N的二叉树称为完全二叉树,当且仅当每个节点对应于深度为K的完全二叉树中编号为1到N的节点时。对于完全二叉树,除最后一个节点外,每

  3. 3 手机地址栏在浏览器哪里 地址栏在哪里?

    地址栏在哪里?1.启动IE-->查看-->工具栏-->地址栏 2.在IE工具栏或菜单的最右边空白的地方右键点击,再点里 面的地址栏 3.如果"地址栏"已经打勾,就是你把地址栏拉短了,在工具栏空白处点右键-出现菜单,去掉“锁定工具

  4. 4 怎么打开java for循环和while循环的区别及用法?

    for循环和while循环的区别及用法?For loop适用于已知的循环数,而loop适用于未知的循环数,do while loop 1>For loop适用于已知的循环数。最佳选择是循环2>while:循环数未知。最好选择while循环。

  5. 5 java开发常用四大框架 JAVA是什么?Java工程师到底是做什么的?

    JAVA是什么?Java工程师到底是做什么的?为了使软件开发人员、服务提供商和设备制造商能够针对特定的市场进行开发,Sun公司将Java分为三个技术平台:Java se(J2SE,Java 2 platform,Standard Editi

  6. 6 windows重置dns命令 在WindowsXP/7命令行下,用什么命令来测试DNS服务器是否配置正确?

    在WindowsXP/7命令行下,用什么命令来测试DNS服务器是否配置正确?当网站无法正常访问,怀疑本地DNS服务器有故障时,可以使用windows系统的NSLOOKUP命令来判断本地DNS服务器是否正常工作。具体步骤如下:1。在本地计算机

  7. 7 javascript编程基础 JavaScript和java有啥联系吗?

    JavaScript和java有啥联系吗?让我告诉你一个故事:当时,网景与Java所在的Sun公司有合作关系](其实,如果你问这个问题,你就会知道流行已经成功了]最后,它改名为JavaScript]题外话:事实上,微软也生产了客户端脚本语言

  8. 8 为什么vue不使用ajax 新手学习js是直接学vue,还是从jquery开始学?

    新手学习js是直接学vue,还是从jquery开始学?我不想写。作为一个10岁的韦伯,我想在这里说几句话!Web技术变化太快,但是jQuery至今还没有被淘汰。想想为什么!此外,Vue和其他新框架确实简化了编程的复杂性,这是他的优势。然而,

  9. 9 抖音架构 抖音后端架构 用什么语言

    更重要的是,tiktok的朋友越来越多。但很多人都很担心。为什么别人的粉丝在几万粉丝中,却只有几十个粉丝?提克托克:事实上,你可能不知道。有一些技巧可以让粉丝们很快的震撼。今天我将介绍一些技巧,帮助您快速提高颤音风扇和实现技巧。蒂克托克的哥

  10. 10 php仿百度文库网站源码 想1000元钱找人进行网页PHP二次开发,被一些程序员嘲讽,想问问页面开发究竟多少钱可以做完?

    想1000元钱找人进行网页PHP二次开发,被一些程序员嘲讽,想问问页面开发究竟多少钱可以做完?一千元。这是一个大项目。别听网上的嘲笑。我要求开发一个网页需要消耗一点电,而且成本只有几元。总价一千元,利润几百倍。我建议发帖人慢慢等,一直等到千

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图