【发布时间】:2013-05-08 11:26:31
【问题描述】:
我定义了 2 个结构,如下所示。
#include<stdint.h>
typedef struct
{
uint32_t a;
uint8_t b;
uint8_t pad[3]; //padding here is added intentionally.
uint32_t c;
}A;
typedef struct
{
uint32_t a;
uint8_t b;
uint8_t pad[3];
uint32_t c;
}__attribute__((__packed__)) B;
这两个结构是否保证在所有硬件平台上具有完全相同的内存布局?可以假设编译器总是gcc。
【问题讨论】: