结构体对齐、ABI 与二进制接口边界 | C语言

本章覆盖:alignment 与 padding 回顾;ABI 决定具体调用约定和布局细节;#pragma pack 属于编译器扩展;跨编译器/平台共享二进制结构需要明确协议;不能把 sizeof(struct) 当作稳定网络协议长度;offsetof 可用于受控布局检查。

本章知识点

  • alignment 与 padding 回顾
  • ABI 决定具体调用约定和布局细节
  • #pragma pack 属于编译器扩展
  • 跨编译器/平台共享二进制结构需要明确协议
  • 不能把 sizeof(struct) 当作稳定网络协议长度
  • offsetof 可用于受控布局检查