-
- 1. Для упакованных структур есть __attribute__((packed)), который понимают все компиляторы (IAR, GCC, ARMCC). VladislavS.(153 знак., 27.01.2023 09:28)
- на вот такое иар не ругается Nikolay801_(177 знак., 27.01.2023 09:12)
- В теплом ламповом ARMCC версии ниже 6 было ключевое слово __packed, с помощью которого можно было объявлять указатели на __packed-типы (т.е. на невыровненные типы). При этом генерировался лишний код, но работало: il-2(122 знак., 27.01.2023 08:24)
- Использование offsetof убирает варнинг - Oman(26.01.2023 19:29)
- memcpy((void *)&Reg[8], (const void*)&IntEeprom.Speed, 4) - lloyd(26.01.2023 16:31)
- Невыровненный (выровненный на 1) IntEeprom.Speed превращается в
выровненный на 2 unsigned short. Кстати, тут может быть ошибка,
т.к. компилятор может разместить всю эту структуру не выровненно. AlexBi(282 знак., 26.01.2023 15:48)
- Во многой мудрости, много печали, я сделал проще IBAH(75 знак., 26.01.2023 15:59)
- Я частенько union использую, очень удобно. Один раз озаглавил, и не надо после помнить, то ли надо >>16, то ли <<16. - vpv.vpv(27.01.2023 06:44)
- С этого надо было начинать :-) 👍 - SciFi(26.01.2023 16:04)
- Во многой мудрости, много печали, я сделал проще IBAH(75 знак., 26.01.2023 15:59)
- КМК, по хорошему на первое поле структуры не должен жаловаться, но,
видимо, поленились, и он жалуется на все. Хотя могу и ошибаться.
Кто сказал, что эта структура не может быть размещена по нечётному
адресу, к примеру? - SciFi(26.01.2023 15:47)
- я тоже к тому склоняюсь, видит #pragma pack(push,1) дает варнинг - IBAH(26.01.2023 15:57)