Blu*_*lub 3 c memory memory-management
为什么第一种情况下不是12?测试:最新版本的gcc和clang,64位Linux
struct desc
{
int** parts;
int nr;
};
Run Code Online (Sandbox Code Playgroud)
sizeof(desc); Output: 16
struct desc
{
int** parts;
};
Run Code Online (Sandbox Code Playgroud)
sizeof(desc); Output: 8
struct desc
{
int nr;
};
Run Code Online (Sandbox Code Playgroud)
sizeof(desc); Output: 4
允许编译器在struct成员之间添加填充以使处理更有效.这种填充因平台,编译器版本等而异.这是使structs网络发送变得不可能的事情之一.
您可以使用它offsetof来找出编译器添加填充的确切位置.
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |