zoukankan      html  css  js  c++  java
  • 内存对齐是什么-对齐的本质是位置和大小-主语是结构体

    目的:保证cpu对结构体数据的存取效率;

    执行:在编译器层面;

    规则:成员的起始位置、结构的大小、数组中的结构等做出的约束;

    参量(对齐因子):缺省按照结构体内的最大尺寸单元对齐;可以指定pack.

    表现:

    结构体的内存对齐形式上像一个报文;

    最大尺寸的的成员变量占据报文的一行;

    小尺寸的成员变量通过共用一行和填充等技术;

    在整体上保证报文的完整性。

    结论:

    1、对象内存模型的数据分布不连续;

    2、具体位置和编译器、编译指令、cpu等有关。

    数据结构内存对齐进化史:

    1、不对齐:所有元素在内存中紧密排列

    优点:节省内存

    缺点:影响cpu访问速度;

    2、全部对齐:所有元素的起始位置都在字长或对齐因子整数倍的位置:

    优点:存取快;

    缺点:内存浪费;

    3、合并对齐:将尺寸小的元算按照原则合并;

    元素起始位置的计算流程;

  • 相关阅读:
    JS命名空间的使用
    PHPexcel的用法
    python爬取百度贴吧帖子
    python自动抢票
    int 与 String 与 char 之间的互相转换
    数据库备份和恢复
    Mysql 基础
    Mysql错误:Every derived table must have its own alias
    frameset框架集
    文件的上传(TCP)
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10060083.html
Copyright © 2011-2022 走看看