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

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

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

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

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

Проблемы с вышесказанным:

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

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

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

Редактировать:
где заменены: whio_epfs

5 ответов

Решение

Похоже, это делает то, что я искал: libgsf

Еще нужно проверить его надежность / производительность и насколько кроссплатформенным является двоичный формат.

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

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

Может быть, есть библиотека из проекта Просвещения?

http://en.wikipedia.org/wiki/Enlightenment_Foundation_Libraries http://docs.enlightenment.org/api/eet/html/

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

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

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

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

Другие вопросы по тегам