Подтвердить что ты не робот

Библиотека встроенной файловой системы с открытым исходным кодом (или файловая система с одним файлом или структурированное хранилище) для C

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

  • с открытым исходным кодом, не-GPL (LGPL ok)
  • Интерфейс C
  • формат файла - это один файл
  • несколько файлов в рамках использования API-интерфейса, подобного POSIX (или нескольких "блобов" в рамках использования какого-либо другого API)
  • редактирование файла/структуры выполняется на месте
  • надежный первый, второй исполнитель

Примеры включают:

  • виртуальные диски виртуальной машины
  • whefs
  • HDF
  • CDF
  • NetCDF

Проблемы с вышеперечисленным:

  • whefs не кажется очень зрелым, но лучше всего описывает, что я после
  • HDF, CDF, NetCDF являются полезными (также очень надежными и быстрыми), но они довольно сложны, и я не совсем уверен в их поддержке непрозрачных двоичных "blobs".

Edit:
Забыл упомянуть еще один важный вопрос:
Простая виртуальная файловая система на C/С++
Другой подобный вопрос:
Есть ли альтернатива Windows с открытым исходным кодом?

Edit:
Добавлено условие редактирования на месте.

Edit:
whess заменены: whio_epfs

4b9b3361

Ответ 1

Это похоже на то, что я искал: libgsf

По-прежнему необходимо проверить его надежность/производительность и как кросс-платформенный двоичный формат.

Ответ 2

Похоже, вы говорите об устройстве loopback Linux, которое позволяет обрабатывать файл в файловой системе как первоклассное блочное устройство (а затем перейти к mkfs, mount и т.д.).

(Какую платформу вы нацеливаете? Полнофункциональный Unix-подобный? Что-то во встроенном пространстве с небольшой площадью?)

Ответ 3

Библиотека WxWindows поддерживает файлы ZIP (см. http://docs.wxwidgets.org/stable/wx_wxarc.html#wxarc). Это также имеет то преимущество, что вы можете посмотреть содержимое с помощью менеджера ZIP (например, WINZIP).

Коммерческая альтернатива - ChillKat (http://www.chilkatsoft.com/)

Если проблема связана с безопасностью, зашифруйте содержимое файла и замените имена файлов в ZIP-архиве.

Ответ 5

Как насчет BerkeleyDB? Это не совсем файловая система, но достаточно прозрачно хранить "двоичные данные" в файле. Лицензия кажется вполне допустимой.