返回首页  设为首页  加入收藏  今天是:
网站首页电脑主板电脑cpu电脑内存电脑硬盘电脑显卡电脑电源显示器电脑配件电脑维修
相关文章
 内存对齐_存取
 2023年10月01日B
 【机构调研记录】兴华基金调…
 新鲜早科技丨英伟达显卡价格…
 英伟达RTX 3050 6GB显卡发布…
 显卡天梯图(2024年2月更新)
 计算机主机的电源接口
 紫色:+5VSB(+5V待机电源 - …
 计算机]电脑电源接口详解
 几百块让你再战三年笔记本保…
 几百块让你再战三年笔记本保…
 笔记本硬件升级如何操作?笔…
 清华同方17寸液晶寒假促销
 i3+独显超值体验清华同方线
 清华同方笔记本电脑怎么开机…
 SATA最新资讯-快科技--科技改…
 比亚迪取得SATA接口装置专利…
 SATA连接器硬盘接口的作用有…
 笔记本固态硬盘什么意思
 TPWallet钱包怎样(猪币怎么放…
 固态硬盘是什么 固态硬盘和普…
 华硕维修收费标准是多少啊华…
 华硕发布公告:若ROG笔电散热…
 华硕维修收费标准是多少啊华…
 抓住这两点是关键!二手笔记…
 捡便宜又尝鲜 年轻人热衷“二…
 一千出头只能买二手电脑?不…
 Lenovo 联想 Ideapad14S 英特…
 酷比魔方平板电脑 CUBE 酷比…
 CUBE 酷比魔方 iWork GT 12 …
 AI跑出来的下代显卡长啥样?…
 创无界超所能让用户走进AI时…
 一款性能与颜值兼备的显卡是…
 高端板卡性价比级别电源怎么…
 高端板卡性价比级别电源怎么…
 设计成的电压可变电源电路图
 2023笔记本电脑处理器排行榜
 2021年12月哪一款笔记本电脑…
 笔记本CPU天梯图2018年最新版…
 从鹤7 24款电视到Q8U8显示器…
 【苹果Vision Pro头显“虚拟…
 苹果Vision Pro虚拟显示器功…
 映泰TZ77XE3支持什么显卡标准
 新年装机打游戏技嘉Z790冰雕…
 3分钟带你认识显卡
 电脑第二个硬盘怎么装
 1TB容量已成主流!新1TB硬盘…
 笔记本硬盘坏了症状
 游戏玩家必备 华硕四款优质游…
 频率高于公版 华硕ENGTX580新…
专题栏目
网络
您现在的位置: 电脑评测网 >> 电脑内存 >> 正文
高级搜索
内存对齐_存取
作者:佚名 文章来源:本站原创 点击数: 更新时间:2024/2/6 18:27:13 | 【字体:

  我的恶魔未婚夫理论上计算机对于任何变量的访问都可以从任意位置开始,然而实际上系统会对这些变量的存放地址有限制,通常将变量首地址设为某个数N的倍数,这就是内存对齐。

  1. 硬件平台限制,内存以字节为单位,不同硬件平台不一定支持任何内存地址的存取,一般可能以双字节、4字节等为单位存取内存,为了保证处理器正确存取数据,需要进行内存对齐。

  提高CPU内存访问速度,一般处理器的内存存取粒度都是N的整数倍,假如访问N大小的数据,没有进行内存对齐,有可能就需要两次访问才可以读取出数据,而进行内存对齐可以一次性把数据全部读取出来,提高效率。

  1. 数据成员对齐规则:struct或者union的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员都按照#pragma pack数值和这个数据成员自身大小中更小的那个进行对齐。

  2. 整体对齐规则:struct或者union的首地址按照内部最大数据成员的大小和#pragma pack数值较小的那个N进行对齐,并且结构体的总大小为N的整数倍,如有必要编译器也会在最后一个成员后面填充一些字节用于对齐。

  // 创建给定类型对象大小满足对齐要求的未初始化内存块,在一个内存对齐的缓冲区上创建对象

  使用方式上面已经介绍过了,Align大小也可以不填,默认会是采用最大最有益的对齐大小,大家可能源码里有些语句不了解含义,如下:__attribute((packed))告诉编译器取消编译中的内存对齐优化,采用实际占用的字节数进行对齐。

  __attribute((aligned(N))) 告诉编译器在编译过程中按照N字节对齐,经过测试这个N只有大于结构体中最大的变量的大小才有用。

  __attribute__((aligned)) 后面不接数字,告诉编译器根据目标机制采用最大最有益的方式对齐,基本上就是16字节对齐。

  // g++空结构体的内存大小为1,需要分配1字节用于占位,C++编译器不允许对象为0长度,无法获取地址等

  // __attribute__((packed))告诉编译器取消编译中的内存对齐优化,采用实际占用的字节数进行对齐

  // __attribute__((aligned(N))) 告诉编译器在编译过程中按照N字节对齐,经过测试这个N只有大于结构体中最大的变量的大小才有用

  // __attribute__((aligned)) 后面不接数字,告诉编译器根据目标机制采用最大最有益的方式对齐,基本上就是16字节对齐

  通过结果可知,一个类带有虚函数,类的大小会多8个字节,这8个字节是虚函数表指针的大小,指针类型为长整型long,在32位机器上是4字节,64位机器上是8字节。

电脑内存录入:admin    责任编辑:admin 
  • 上一个电脑内存:

  • 下一个电脑内存: 没有了
  •  
     栏目文章
    普通电脑内存 内存对齐_存取 (02-06)
    普通电脑内存 2023年10月01日B (02-06)
    普通电脑内存 【机构调研记录】兴华基金调研云从科技、澜起… (02-06)
    普通电脑内存 Lenovo 联想 Ideapad14S 英特尔酷睿 i3-1005G… (02-05)
    普通电脑内存 酷比魔方平板电脑 CUBE 酷比魔方 iWork GT 12… (02-05)
    普通电脑内存 CUBE 酷比魔方 iWork GT 12 AMD第七代锐龙处理… (02-05)
    普通电脑内存 电脑内存不足加内存条还是硬盘 (02-04)
    普通电脑内存 MemTest86 内存测试软件新增 DDR5 内存支持 (02-04)
    普通电脑内存 内存条se什么意思 (02-04)
    普通电脑内存 Moonshot AI 初亮相开启大模型长文本时代|Z … (02-03)
    普通电脑内存 绝地求生闪退怎么办 pubg闪退解决方案 (02-03)
    普通电脑内存 跨境电商独立站术语盘点(一)独立站建站篇 (02-03)
    普通电脑内存 微信体积再变大!新安装包突破700MB聊天记录占… (02-02)
    普通电脑内存 全系列逐一介绍 影驰DDR5内存大盘点 (02-02)
    普通电脑内存 聊天记录占超75%微信内存!微信体积再变大 新… (02-02)
    普通电脑内存 视频缓存是什么意思 (02-01)
    普通电脑内存 手机激活“满屏”应用软件“硬装”是什么原因 (02-01)
    普通电脑内存 电视内存有什么用 (02-01)
    普通电脑内存 内存_爱思助手_第67页 (01-31)
    普通电脑内存 爱国者新款DDR4DDR5内存上市:单条容量最高32… (01-31)