对字节对齐的理解
来源:互联网 发布:vb.net string.format 编辑:程序博客网 时间:2024/04/27 14:54
首先需要搞清楚“对齐”的概念(这是重点)
对齐:如果某成员位置到块开始之间的字节长度恰好为本成员长度的整数倍,则称本成员相对块开头对齐。 就像绳子的整数折一样。
1、根据对齐字节数(VC GCC默认为4字节)划出新块
2、将当前成员放到块中
3、处理下一个成员,根据本成员的长度找到本成员的对齐左边界,如果当前块还能放下本成员则执行2,否则执行1。
struct t
{
char t2;
short t3;
char t1;
char t4;
int t5;
}
main()
{
struct t t1;
int i;
memset(&t1, 0x0, sizeof(t1));
t1.t1=0x11;
t1.t2=0x22;
t1.t3=0x3333;
t1.t4=0x44;
t1.t5=0x55555555;
printf("/n%d", sizeof(struct t));
printf("/n");
for(i=0; i<sizeof(t1); i++)
{
printf("%02X ", ((char*)(&t1))[i]);
}
}
- 对字节对齐的理解
- 对字节对齐的理解
- C++中对字节对齐的理解
- 关于字节对齐的理解
- 关于字节对齐的理解
- 关于字节对齐的理解
- 字对齐、半字对齐、字节对齐的理解
- 对《C语言:内存字节对齐详解——struct 和 union 》的理解
- 关于字节对齐的理解程度
- 关于字节对齐的一些理解
- 深入理解字节对齐
- 字节对齐 理解
- 字对齐、半字对齐、字节对齐的理解(转载)
- 快速理解字节对齐问题
- 为什么需要字节对对齐
- 关于C++字节对齐的分析与理解
- HBITMAP对位图数据存储的字节对齐
- 对堆栈8字节对齐问题的讨论
- IValueConverter Interface
- 开博
- linux JDK,tar.gz,rpm具体细节
- unicode编码问题
- 博客开通啦
- 对字节对齐的理解
- 提高程序的效率
- ADB的使用
- PowerDesigner中将Name的部分值填到Code
- dijkstra算法
- wpf值转换器IValueConverter例子
- 让Text和Combox接受回车键,自动转移焦点
- Failed to create the Java Virtual Machine
- 使用axis 开发web service的build.xml