ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1000413 Топик полностью
fk0, легенда (30.04.2020 17:38, просмотров: 302) ответил VLLV на Тема выравнивания пошла. Объясните плз, почему в проекте ARM выравнивание происходит по границе 8 байт? 32 бита. Если надо, картинку отладчика положу.
Что значит "всё выравнивание"? Выравнивание каждого типа данных зависит от его alignas свойства. У всех разное. Если речь про new/malloc -- потому, что таков BIGGEST_ALIGNMENT (который применяется, когда тип не пойми какой). Например, из-за векторных значений для FPU, или просто потому, что в ABI так прописано. 
$ gcc -dM -E -x c /dev/null | grep ALIGN
#define __ARM_FEATURE_UNALIGNED 1
#define __BIGGEST_ALIGNMENT__ 8
[ZX]