ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
992929 Топик полностью
LightElf (08.04.2020 12:17, просмотров: 496) ответил fk0 на Никак по-разному разложиться не может. Разложится всегда именно так же как и с прагмами. Потому, что иначе не были бы возможны массивы (alignas == sizeof) если речь идет о типах uint8, uint16, uint32 и о "ручном" раскладывании с выравниванием, как сделано у тебя. А если речь о других типах (структуры), или раскладка не выровненная (int32 не на 32-битной границе), то возникает упомянутая мною проблема: невозможность использования указателей. Выводы -- прагмы бесполезны и не
А ты упертый :) Но блох ты ловишь не там. Разложиться по-другому может, особенно на архитектурах без 16-битных операций (типа ARMv4) - компилятор выровняет uint16_t на 32 бита. А вот как раз получить раскладку с int32 не на 32-битной границе - это надо сильно постараться. Ну и использование указателей на поля структуры, вместо указателя на структуру целиком - это путь к успеху. 
Не надо делать мне как лучше, оставьте мне как хорошо