c++内存对齐的规则
内存对齐规则:
默认条件下,内存对齐是以class/struct中最大的那个基本类型为基准的(x倍数)
如果在类的前面有
#pragma pack(n)
min(#pragma pack(n), 最大长度的类型)
结构体的总大小为 有效对齐值 的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。
class C
{
public:short a; long long c;
};
// 有效对齐值:8
class C
{
public:short a;int b;
}; // 有效对齐值:4
class C
{
public:char a;char b;char c;char d;char e;
}; // 有效对齐值:1
class C
{
public:char a;char b;char c;short e;
}; // 有效对齐值:2
#pragma pack(2)
class A
{
public:char a;int s;
};
内存对齐的原因:
1.平台原因:某些处理器只能在特定地址处取数据
2.硬件原因:如果不对齐,可能要取好几次
c++内存对齐的规则相关推荐
- 内存对齐的规则以及作用
内存对齐能够用一句话来概括: "数据项仅仅能存储在地址是数据项大小的整数倍的内存位置上" 比如int类型占用4个字节.地址仅仅能在0,4.8等位置上. 由一个程序引入话题: //环 ...
- 内存对齐的规则以及作用 verygood!的一篇文章!
原文转自:http://www.cppblog.com/snailcong/archive/2009/03/16/76705.html 首先由一个程序引入话题: //环境:vc6 + windows ...
- 什么是内存对齐?如何计算内存对齐?为什么要内存对齐?
内存对齐概念: 要了解内存对齐,我们可以先看下面的例子: typedef struct S {int a;double b;char c; }S;typedef struct B {int a;cha ...
- 内存对齐是什么?为什么要内存对齐?
原文: http://blog.csdn.net/liupeng900605/article/details/7530010 首先由一个程序引入话题: 1 //环境:vc6 + windows sp ...
- 内存对齐的原理,作用,例子以及一些规划(中英文说明,适用sizeof结构体) ...
目录 题记 一 内存读取粒度 Memory access granularity 从内存的角度解释内存对齐的原理 队列原理 Alignment fundamentals Laz ...
- 【C语言】自定义类型(结构体、位段、枚举、联合体)与内存对齐
目录 一.自定义类型种类 1.结构体 2.位段 3.枚举 4.联合体(共同体) 二.结构体 1.结构体的声明 2.结构体变量的定义与初始化 1.定义 2.结构体变量的初始化 3.结构体成员的访问 1. ...
- Windows内存体系(6) -- 彻底理解内存对齐
一.内存为什么要对齐 虽然所有的变量都是保存在特定地址的内存中,但最好还是按照内存对齐的要求来存储.这主要出于两个方面的原因考虑: 平台原因: 不是所有的硬件平台(特别是嵌入式系统中使用的低端处理器) ...
- 内存对齐规则及为什么内存对齐
内存对齐的默认规则: (1)第一个成员在结构体变量偏移量为0的地址处 (2)从第二个成员开始,每个成员都有对齐数,对齐数是其所占字节的整数倍 (3)结构体的总大小为其成员的最大对齐数的整数倍 stru ...
- 结构体的内存对齐规则
1.结构体的内存对齐规则 1.第一个成员在与结构体变量偏移量为0的地址处. 2.其他成员变量都放在对齐数(成员的大小和默认对齐数的较小值)的整数倍的地址处. 对齐数=编译器默认的一个对齐数与该成员大小 ...
最新文章
- 内存数据库服务运营之路
- 区块链学堂(2):最简单的智能合约
- C机顶盒开发实战常用初始化类型:数组、结构、指针
- 基于.net平台remoting、DB2技术的大型分布式HIS系统架构及开发(项目架构师方向)...
- 百度地图手机和电脑不一致_手机能下载北斗星导航吗?比高德地图和百度地图好用吗?...
- silverlight的开发暂时是痛苦的
- poj 2182 给你每个数前面有几个数比他小让你输出次数的编号
- python检测文件的MD5值
- 国内企业“数字化转型”案例!
- MS发起的PDP上下文激活过程
- 如何防止你的爬虫被网管一巴掌拍死
- 计算机管理的磁盘管理简单卷,小编教你磁盘管理新建简单卷怎么做
- 快手福虎迎春季短视频涨粉活动规则[快手获取商品详情]
- 关于CDN以及如何绕过CDN寻找真实ip
- 环境艺术设计是计算机,【艺术设计论文】环境艺术设计计算机辅助设计研究(共5097字)...
- 颜色模型(color model)
- Android 代理 wss,打android包使用wss协议进行websocket连接出错
- ldf文件怎么储存到mysql中_如何转移数据库MDF和LDF文件
- 【总结】广告点击率预估中的特征选择
- Android自定义键盘,仿招商银行