ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1181882 Топик полностью
ЫЫyкпy (01.03.2022 14:44, просмотров: 176) ответил =AlexD= на Ничто не мешает сохранять данные в упакованные структуры а потом передавать их классам как внешний буфер. Я такой подход практиковал и получил все плюсы как быстрой десериализации, так и классово-модульного подхода.
+1. Вполне годное решение. Если же хочется чтобы данные были именно частью объекта то примерно так (для IAR): 
__packed struct sss{ ... };

class ccc : sss { ... };

Определение структуры логично позаимствовать из проекта периферийных модулей, сделав .h файл общим для двух проектов.

Но вообще идея передавать структуры как есть в двоичном виде не очень хороша. Раскладка данных в памяти для структур не стандартизована и отдается на усмотрение компилятора. Даже для упакованных структур остается проблема порядка следования старших/младших байт.

В том же, не к ночи будь помянут, Модбасе постоянно приходится заниматься перестановкой байт в 16-битных данных.

Взирая на нынешнее состояние отечества моего с таковым оком, каковое может иметь человек, воспитанный по строгим древним правилам, ... не могу я не дивиться, в сколь краткое время повредились повсюдно нравы в России. (с) кн. М.М. Щербатов.