Всякий раз, когда мне нужно определить структуру файла, я использую специфичные для компилятора команды (например, #pragma pack(1)
), чтобы я мог безопасно читать и писать этот файл и не беспокоиться о проблемах с заполнением.
Однако есть ли другой способ достичь той же цели? Мне не нужно де-сериализовывать сложные объекты, только типы POD.
Невозможно определить кросс-платформенный двоичный формат, который всегда хорошо отображается в представлении типов в памяти.
Существует два варианта определения кроссплатформенных форматов файлов:
Библиотека повышения сериализации может быть вариант, если вы хотите, чтобы это было решено быстро и без лишних слов.