в буфер в С++?
То есть создаем структуру:
struct packet_t {
uint16_t one : 4;
uint16_t two : 6;
uint16_t three : 6;
uint16_t four : 16;
} __attribute__((packed));
Далее пишем:
auto packet = static_cast<packet_t*>(buf);
.......
То есть заполняем буфер через структуру. В С это повсеместная практика, а насколько опасно так делать в плюсах? В структуре гарантировано нет определенных программистом методов, и она с атрибутом packed
C-cast в плюсах не рекомендуется делать)
А бы сказал чтт ваще packed нельзя юзать хех
Расклад байт и битов в структуре с битовыми полями не определен, так что записать можно, но что будет - неизвестно. На одной платформе ещё может будет работать, на разных - нет
Почему бы тебе просто не написать сериализацию кодом? Это же просто! Всего две функции.
Обсуждают сегодня