博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struct字节对齐原则
阅读量:5822 次
发布时间:2019-06-18

本文共 638 字,大约阅读时间需要 2 分钟。

 原则1:windows下,k字节基本类型以k字节倍数偏移量对齐,自定义结构体则以结构体中最高p字节基本类型的p字节倍数偏移量对齐,Linux下则以2或4字节对齐;

 原则2:整体对齐原则,例如数组结构体,首元素字节对齐,而次元素字节未对齐,则数组元素不是字节对齐,需对尾部基本数据以结构体中最高p字节基本类型补充对齐

 作用:1节省寄存器用于保存偏移量的数量,2合理利用空间

 测试代码:

 

1 #include 
2 3 4 typedef struct a 5 { 6 char a; 7 }A; 8 9 typedef struct b10 {11 char a;12 short b;13 }B;14 15 typedef struct c16 {17 short b;18 char a;19 }C;20 21 22 typedef struct D23 {24 short b;25 char a;26 double c;27 char e;28 }D;29 30 31 32 33 using namespace std;34 int main()35 {36 37 38 std::cout<< sizeof(A)<

转载于:https://www.cnblogs.com/xuaidongstdudyrecording/p/8877616.html

你可能感兴趣的文章
1月9日学习内容整理:爬虫基本原理
查看>>
安卓中数据库的搭建与使用
查看>>
AT3908 Two Integers
查看>>
渐变色文字
查看>>
C++ 0X 新特性实例(比较常用的) (转)
查看>>
node生成自定义命令(yargs/commander)
查看>>
各种非算法模板
查看>>
node-express项目的搭建并通过mongoose操作MongoDB实现增删改查分页排序(四)
查看>>
如何创建Servlet
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
win7 64位+Oracle 11g 64位下使用 PL/SQL Developer 的解决办法
查看>>
BZOJ1997:[HNOI2010]PLANAR——题解
查看>>
BZOJ1014:[JSOI2008]火星人prefix——题解
查看>>
使用Unity3D引擎开发赛车游戏
查看>>
HTML5新手入门指南
查看>>
opennebula 开发记录
查看>>
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>