ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1008743 Топик полностью
abivan (01.06.2020 22:41, просмотров: 320) ответил fk0 на Нарваться на несовместимость битовых полей можно на одном компиляторе при переходе с версии на версию: см 4-й пункт сверху -->
я всегда явно дополняю падинг биты. А у компилятора баги и не только в битовых полях могут быть. 
  struct foo
    {
      uint8_t a:4;
      uint8_t  :4;
      uint8_t b:8;
    } __attribute__ ((packed));
или даже так
  struct foo
    {
      uint8_t a:4;
      uint8_t reserved :4;
      uint8_t b:8;
    } __attribute__ ((packed));