LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

забыл, структуру надо бы обернуть так

#pragma pack(push, 1)
struct message
    {
        uint16_t comment_start_label;
        uint16_t comment_size;
        uint32_t comment_time;
    };
#pragma pack(pop)

Это нужно, когда мы структуры передаём по сети или в файл пишем, в общем во всех случаях когда мы работаем со структурой как с куском данных. Так она занимает ровно столько сколько занимают типы внутри неё. Без выранивания с «дырами» в обычном случае когда мы работаем со структурой в рамках просто использования в коде.

Исходная версия LINUX-ORG-RU, :

забыл, структуру надо бы обернуть так

#pragma pack(push, 1)
struct message
    {
        uint16_t comment_start_label;
        uint16_t comment_size;
        uint32_t comment_time;
    };
#pragma pack(pop)

Это нужно, когда мы структуры передаём по сети или в файл пишем, в общем во всех случаях когда мы работаем со структурой как с куском данных. Так она занимает ровно столько сколько занимают типы внутри неё.