ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1042422 Топик полностью
Aleksey_75 (06.10.2020 15:18, просмотров: 299) ответил Aleksey_75 на когда 2 литра мало , а 4 много ))) как "замутить" переменную на 3 байта ? )))
Докладываюсь! Сделал так 
#pragma push
#pragma pack(1)
typedef struct 
{
    uint32_t    adr:24;
    uint32_t    size:24;
    uint32_t    id:8;
    uint32_t    var:8;
} info_t;    
#pragma pop

пример

static const info_t info[5] = 
{
    {0x111111, 0x111112, 0x13, 0x14},
    {0x211111, 0x211112, 0x23, 0x24},
    {0x311111, 0x311112, 0x33, 0x24},
    {0x411111, 0x411112, 0x43, 0x34},
    {0x511111, 0x511112, 0x53, 0x44},
};

скрин как это все лежит в памяти. В этоге -2 байта с каждой индексной записи, 20% экономия.