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

网站相应速度苏州住房和城乡建设厅网站

网站相应速度,苏州住房和城乡建设厅网站,婚纱摄影网站管理系统,工作感悟的句子内存对齐和填充规则 对齐要求#xff1a;每个数据类型的起始地址必须是其大小的倍数。 int8#xff08;1字节#xff09;#xff1a;不需要对齐。int16#xff08;2字节#xff09;#xff1a;起始地址必须是2的倍数。int32#xff08;4字节#xff09;#xff1a;起…内存对齐和填充规则 对齐要求每个数据类型的起始地址必须是其大小的倍数。 int81字节不需要对齐。int162字节起始地址必须是2的倍数。int324字节起始地址必须是4的倍数。int648字节起始地址必须是8的倍数。 填充规则如果当前偏移量不是下一个成员变量对齐要求的倍数则编译器会在前一个成员后插入“填充字节”以使下一个成员的起始地址满足对齐要求。 结构体总大小结构体的总大小必须是其最大成员对齐大小的倍数必要时会在结构体末尾添加额外的填充字节。 示例解析 示例 1未优化的结构体 type Unoptimized struct {a int8 // 1 byteb int32 // 4 bytes, 需要4字节对齐c int16 // 2 bytes, 需要2字节对齐 }a 占用 1 字节起始地址为 0。b 需要 4 字节对齐但 a 只占用了 1 字节因此在 a 后面需要填充 3 字节使得 b 的起始地址为 4。c 需要 2 字节对齐b 占用 4 字节所以 c 的起始地址为 8不需要额外填充。结构体总大小为 10 字节1 3 4 2但为了使结构体大小为 4 字节对齐最大成员 b 是 4 字节对齐需要在末尾再填充 2 字节。 最终结构体大小为 12 字节。 示例 2优化后的结构体 type Optimized struct {b int32 // 4 bytes, 需要4字节对齐c int16 // 2 bytes, 需要2字节对齐a int8 // 1 byte, 不需要对齐 }b 占用 4 字节起始地址为 0符合 4 字节对齐。c 需要 2 字节对齐b 占用 4 字节所以 c 的起始地址为 4不需要额外填充。a 占用 1 字节c 占用 2 字节所以 a 的起始地址为 6不需要额外填充。结构体总大小为 7 字节4 2 1但为了使结构体大小为 4 字节对齐最大成员 b 是 4 字节对齐需要在末尾再填充 1 字节。 最终结构体大小为 8 字节。 图解填充规则 假设我们有一个结构体 type Example struct {a int8 // 1 byteb int16 // 2 bytesc int32 // 4 bytes }我们可以用图来表示内存布局 Offset: 0 1 2 3 4 5 6 7 8 9 10 11------------------------| a| P| P| P| b| b| P| P| c| c| c| c|------------------------a 占用 1 字节后面填充 3 字节P 表示填充字节。b 占用 2 字节后面填充 2 字节。c 占用 4 字节。 调整顺序后 type Example struct {c int32 // 4 bytesb int16 // 2 bytesa int8 // 1 byte }内存布局变为 Offset: 0 1 2 3 4 5 6 7----------------| c| c| c| c| b| b| a| P|----------------c 占用 4 字节。b 占用 2 字节。a 占用 1 字节后面填充 1 字节。 最终结构体大小为 8 字节比原来的 12 字节更紧凑。 总结 通过将占用较大内存空间的成员放在前面可以减少编译器为了对齐而插入的填充字节数量从而使结构体更加紧凑节省内存。你可以使用 unsafe.Sizeof() 和 unsafe.Alignof() 来验证这些结构体的实际大小和对齐方式。
http://www.w-s-a.com/news/390908/

相关文章:

  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云
  • 一元购网站怎么做企业网站源码cms
  • 域名不变 网站改版临沂企业网站建站模板
  • 天河网站建设信科网络外包公司和公司直招哪个好
  • 网站制作哈尔滨聊天系统源码
  • 网站建设朋友圈素材青白江建设网站
  • 红酒网站设计软件设计文档
  • 如何创建网站目录网站申请支付宝接口
  • 网站做区块链然后往里面投钱品牌设计公司收费标准
  • 2022互联网+创新创业项目呼和浩特企业网站排名优化
  • 电子商务类网站建设山西自助建站系统怎么用
  • odoo做网站网站设置专栏有什么好处
  • 局域网内个人网站建设查询企业的网站有哪些
  • 网站建设属于技术开发吗网页制作团队
  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级
  • 网站制作容易吗logo免费生成网站
  • 建设厅官方网站下载专区网络托管公司
  • 祥云平台官方网站网线制作实验原理
  • 把网站做成app的软件下载国外做兼职的网站有哪些
  • 网站建设 海豚弯专业的网站开发服务商