文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C语言中的字节对齐

C语言中的字节对齐

时间:2010-09-14  来源:weichsel

C语言中的字节对齐


这篇文档写的比较清楚:http://www.linuxsong.org/2008/09/cc.html

关键的几个概念:
1.数据类型自身的对齐值:
对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4,单位字节。
2.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。
3.指定对齐值:#pragma pack (value)时的指定对齐值value。
4.数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中小的那个值。

对齐的规则:
1) 有效对齐值N是最终用来决定数据存放地址方式的值
2) 结构体的成员变量要对齐排放,结构体本身也要根据自身的有效对齐值圆整(就是结构体成员变量占用总长度需要是对结构体有效对齐值的整数倍)

注意事项:
从奇数边界去访问unsignedshort型变量,是不合理的。
X86支持不对齐访问,只是效率比较低。对于MIPS、SPARC可能就是一个error,因为它们要求必须字节对齐。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载