Нет, чтобы изменить собственное выравнивание платформы для структуры в gcc
, вам придется явно использовать директивы компилятора __attribute__((packed))
или __attribute__((align X))
или другие gcc
ключи командной строки, которые специально управляют компилятором изменить выравнивание собственной платформы для структур данных.
Кроме того, упаковка структуры со смешанными типами данных, чтобы все элементы данных не могли быть выровнены по правильной границе слова в памяти, фактически будет медленнее для доступа к элементу данных во время выполнения не быстрее. Это связано с тем, что компилятору придется распаковать структуру обратно в исходное выравнивание для платформы, прежде чем получить доступ к элементу данных.