ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1021148 Топик полностью
fk0, легенда (26.07.2020 17:23, просмотров: 512) ответил RxTx на А знаешь почему не описывается? Сям (компилеру и стандарту) просто чхать, какая там структура. Осознай это. Упакованная, не упакованная - именно сишечке по барабану. Осознай: требования по default data alignment (вообще по типам, не только выравнивание, но и размер) оно существует только для конкретной CPU платформы, не у компилятора. И padding (выравнивание) структур делает не компилятор следующий стандарту C, а бэкенд, именно он отвечает за платформу, ее выравнивание,
В пятый раз повторяю, компилятор знает и используют такое понятие как alignof/alignas для любого типа данных, у gcc есть расширение -- атрибут __attribute__((aligned(N))), по аналогии с typeof() есть __alignof __(type) (в голом C, без C++). В голом C на него можно нарваться через generics, через sizeof() тоже можно если постараться. Именно что платформо-независимый генератор кода уже всем этим оперирует. Отнюдь не бэкенд. 
[ZX]