欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

C/C++ | 字节对齐

发布时间:2023/12/13 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C/C++ | 字节对齐 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目的:优化CPU访问数据效率

 

类型转换:未对齐时,严格一些的系统会报段错误,未报错的话效率也会有所下降。

各种结构的对齐:

 

编译器的区别:

其实字节对齐的细节和具体编译器实现相关,但一般而言,满足三个准则:(from baike)
1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;
2) 结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节;例如上面第二个结构体变量的地址空间。
3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。

 

详细见:http://blog.csdn.net/21aspnet/article/details/6729724/

转载于:https://www.cnblogs.com/excavator/p/4852165.html

总结

以上是生活随笔为你收集整理的C/C++ | 字节对齐的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。