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

东莞建设网住房保障专栏seo技术网

东莞建设网住房保障专栏,seo技术网,网页图片怎么打印出来,wordpress网站欣赏一、内存对齐是什么 1.内存对齐是什么 还是用一个例子带出这个问题,看下面的小程序,理论上,32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占415byte;但是实际上&…

一、内存对齐是什么

1.内存对齐是什么

还是用一个例子带出这个问题,看下面的小程序,理论上,32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占4+1=5byte;但是实际上,通过运行程序得到的结果是8 byte,这就是内存对齐所导致的。

//32位系统
#include<stdio.h>
struct{int x;char y;
}s;int main()
{printf("%d\n",sizeof(s);  // 输出8return 0;
}

 现代计算机中内存空间都是按照 byte 划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐。

2.内存对齐规则

那么接下来我们来说一下结构体中内存对齐的规则:
1.对于结构体中的各个成员,第一个成员位于偏移为 0 的位置,以后的每个数据成员的偏移量必须是min(#pragma pack()制定的数,数据成员本身长度)的倍数。 n= 1,2,4,8,16

        每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。gcc中默认#pragma pack(4),可以通过预编译命令#pragma pack(n),n = 1,2,4,8,16来改变这一系数。

2.在所有的数据成员完成各自对齐之后,结构体或联合体本身也要进行对齐,整体长度是 min(#pragma pack())制定的数,长度最长的数据成员的长度)的倍数

二、为什么内存对齐

内存对齐的作用:

        1.经过内存对齐之后,CPU 的内存访问速度大大提升。因为 CPU 把内存当成是一块一块的,块的大小可以是2,4,8,16 个字节,因此 CPU 在读取内存的时候是一块一块进行读取的,块的大小称为内存读取粒度。比如说CPU 要读取一个 4 个字节的数据到寄存器中(假设内存读取粒度是 4),如果数据是从0字节开始的,那么直接将0-3 四个字节完全读取到寄存器中进行处理即可。
        2.如果数据是从1字节开始的,就首先要将前 4 个字节读取到寄存器,并再次读取 4-7 个字节数据进入寄存器,接着把0字节,5,6,7字节的数据剔除,最后合并 1,2,3,4 字节的数据进入寄存器,所以说,当内存没有对齐时,寄存器进行了很多额外的操作,大大降低了 CPU 的性能。        3.另外,还有一个就是,有的 CPU 遇到未进行内存对齐的处理直接拒绝处理,不是所有的硬件平台都能访问任意地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。所以内存齐还有利于平台移植

http://www.jinmujx.cn/news/110415.html

相关文章:

  • 怎么做下载类的网站百度软件优化排名
  • 陇南地网站seo今日军事新闻热点事件
  • 建设企业网站综合考虑北京seo优化服务
  • 公司在网上做网站怎么做账seo网络优化公司哪家好
  • 太原铁路建设有限公司网站搜狗seo优化
  • 郑州网站建设哪家强郑州seo团队
  • 潍坊网站优化培训百度指数
  • 互联网app网站建设方案模板站长之家ppt模板
  • dz论坛怎么做视频网站吗网站怎样被百度收录
  • 公司网站做门户备案企业中层管理人员培训课程
  • 网站页面大小优化怎么做百度指数免费查询入口
  • 一级a做爰片免费网站迅雷下载发帖秒收录的网站
  • php自适应网站开发谷歌站长平台
  • 网站做竞价对seo有影响吗北京网站优化步
  • 湖北商城网站建设多少钱网站建设推广优化
  • 无锡免费网站制作怎么做公司网站
  • 电梯网站建设一份完整的营销策划书
  • 大数据培训心得武汉网站seo公司
  • 电子商务网站建设书籍竞价外包
  • 徐州网站建设价格关键词自动优化工具
  • 东莞做网站公司在哪app网站
  • 手机网站制作最佳磁力搜索引擎
  • 有什么免费做h5的素材网站百度公司招聘条件
  • 大连网站推广爱得科技如何在手机上开自己的网站
  • 微信微网站平台网站优化种类
  • 网站推广的基本手段百度浏览器主页网址
  • 淄博网站排名优化seo需要掌握什么技能
  • 郑州网站制作-中国互联seo谷歌外贸推广
  • 做视频网站怎么备案今日头条新闻头条
  • 医疗网站前置备案专门做排名的软件