Библиотека с открытым исходным кодом встроенной файловой системы (или однофайловой виртуальной файловой системы, или структурированного хранилища) для C
Я не уверен, каким может быть "общее" название чего-то подобного. Я ищу библиотеку, которая дает мне формат файла для хранения различных типов двоичных данных в одном расширяющемся файле.
- с открытым исходным кодом, не-GPL (LGPL в порядке)
- C интерфейс
- формат файла - один файл
- несколько файлов внутри, используя POSIX-подобный файловый API (или несколько "блобов" внутри, используя какой-то другой API)
- редактирование файла / структуры выполняется на месте
- надежный первый, производительный второй
Примеры включают в себя:
Проблемы с вышесказанным:
- Похоже, они не очень зрелые, но лучше всего описывают то, что я ищу
- 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-архиве.