zoukankan      html  css  js  c++  java
  • 数据对齐

    假设一个cpu一次只从内存中读取8个字节,那么cpu的只能读取0,8,16,24,...,倘若有一个结构体这么定义:

    struct x {
    	int x;
    	double y;
    };
    

    结构体内存结构如下:

    此时,若想读取 y 值,则cpu必须读取两次内存:第一次读取字节0-8,第二次读取字节9-16,然后将字节4-12组合成一个double类型,性能较低 。但如果采用下边的分配方法,只需读取一次即可(字节8-20),其中字节4-8是多余的,牺牲内存换来执行效率

    这些工作都是操作系统来处理,我们只需了解即可,一般来说,基础数据类型的字节数多大,其地址就必须是该字节数的整数倍。

  • 相关阅读:
    常见的arp欺骗
    ARP欺骗分析
    周总结
    周总结
    周总结
    win10下 修改host文件 新添域名不生效
    周总结
    周总结
    周总结
    周总结
  • 原文地址:https://www.cnblogs.com/rookiezjz/p/13635877.html
Copyright © 2011-2022 走看看