Почему упакованная через pack(1) структура заставляет компилятор разбирать на байты даже идеально выровненные поля, как это исправляет связка packed + aligned(4), что происходит, когда структура разрастается, и как отловить невыравненные поля линтером — с дизассемблером RISC-V и сравнением семи архитектур.
Скрытая цена невыравненности: чем на самом деле платят за #pragma pack(1)

