gcc автоматически отрегулирует размер структуры - PullRequest
1 голос
/ 09 марта 2019

Привет У меня есть определенная структура, подобная этой:

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

Однако, фактический размер этого составляет 16 байт вместо 10 байт.«Смещение» начнется с [DT_Info + 8].

Есть ли способ заставить компилятор настроить запуск «Смещение» при [DT_Info + 2]?

Спасибоочень много!

1 Ответ

1 голос
/ 09 марта 2019

Дополнительное пространство - отступ для выравнивания. Если вы уверены, что вашей целевой архитектуре это не нужно, вы можете отключить ее, добавив __attribute__((__packed__)) к объявлению.

...