кроссплатформенная обработка файловой структуры

Всякий раз, когда мне нужно определить структуру файла, я использую специфичные для компилятора команды (например, #pragma pack(1)), чтобы я мог безопасно читать и писать этот файл и не беспокоиться о проблемах с заполнением.

Однако есть ли другой способ достичь той же цели? Мне не нужно де-сериализовывать сложные объекты, только типы POD.

2

Решение

Невозможно определить кросс-платформенный двоичный формат, который всегда хорошо отображается в представлении типов в памяти.

Существует два варианта определения кроссплатформенных форматов файлов:

  1. Использовать текст
  2. Определите двоичный формат с точки зрения того, что может предоставить ваша любимая кроссплатформенная библиотека сериализации, и используйте эту библиотеку для преобразования содержимого файла между их внутренним и внешним представлением.
1

Другие решения

Библиотека повышения сериализации может быть вариант, если вы хотите, чтобы это было решено быстро и без лишних слов.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector