Я ищу эффективный механизм сериализации объектов C - PullRequest
0 голосов
/ 16 июля 2010

Я ищу эффективный способ реализации механизма сериализации в C. Я знаю, что было бы просто сохранить данные, например, в JSON, а затем повторно инициализировать все во время синтаксического анализа.

Но мне интересно, возможно ли (или оно того стоит) написать что-то, что просто возьмет мою структуру (содержащую динамически распределенные данные), преобразует все ее данные и все указатели в буфер, чтобы я мог поместить буфер в файл. Затем я читал файл, извлекал содержимое, неправильно определял размер содержимого файла и помещал содержимое в это место.

Я чувствую, что это возможно сделать (преобразовать все указатели в какую-то локальную схему указателей и поместить все структуры соответствующим образом в буфер, чтобы соответствовать этим указателям). Мне интересно, существует ли такой сторонний сериализатор или стоит его реализовать.

1 Ответ

3 голосов
/ 16 июля 2010

Вы можете посмотреть в буферы протокола: http://code.google.com/p/protobuf/, они имеют приличную поддержку инструмента c

Однако, по моему опыту, сначала сделайте это самым простым и удобным для пользователя способом (для отладки сериализованных данных). Дизайн с учетом того, что вам может понадобиться изменить его позже.

Тогда, если ограничение диска или скорости абсолютно, положительно сделайте это, так что вам нужно переключиться на что-то лучшее, сделайте это. В основном, как в (почти) все вещи оптимизируются последними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...