gcc将自动调整结构大小

时间:2019-03-09 04:49:32

标签: c gcc struct

嗨,我有一个这样定义的结构:

typedef struct {
    unsigned short Limit;
    unsigned long Offset;
} DT_Info;

但是,它的实际大小是16字节而不是10字节。 “偏移”将从[DT_Info + 8]开始。

有没有一种方法可以使编译器调整从[DT_Info + 2]开始的“偏移”?

非常感谢您!

1 个答案:

答案 0 :(得分:1)

多余的空间用于对齐。如果确定目标体系结构不需要它,可以通过在声明中添加__attribute__((__packed__))来禁用它。