用于C的开源嵌入式文件系统(或单文件虚拟文件系统或结构化存储)库
我不确定这样的“一般”名称是什么。 我正在寻找一个库,它为我提供了一种文件格式,可以在不断扩展的单个文件中存储不同类型的二进制数据。
- 开源,非GPL(LGPL ok)
- C接口
- 文件格式是单个文件
- 使用类似POSIX的文件API中的多个文件(或使用其他API中的多个“blob”)
- 文件/结构编辑就地完成
- 可靠的第一,高效的第二
例子包括:
- 虚拟机的虚拟驱动器
- whefs
- HDF
- CDF
- 的NetCDF
以上问题:
- whefs似乎不是很成熟,但最能描述我追求的东西
- HDF,CDF,NetCDF是可用的(也非常可靠和快速),但它们相当复杂,我不完全相信它们支持不透明的二进制“blob”
编辑:
忘了提及另一个相关的问题:
C / C ++中的简单虚拟文件系统
另一个类似问题:
是否有Windows复合文件的开源替代品?
编辑:
添加了就地编辑的条件。
编辑:
whefs取代: whio_epfs
这看起来像我在寻找: libgsf
仍需要测试其可靠性/性能以及二进制格式的跨平台性。
听起来你在谈论Linux环回设备,它允许你将文件系统上的文件视为一流的块设备(然后继续进行mkfs,mount等)
(你正在瞄准什么样的平台?一个function齐全的Unix类?嵌入式领域的东西,占用空间小吗?)
WxWindows库支持ZIP文件(请参阅http://docs.wxwidgets.org/stable/wx_wxarc.html#wxarc) 。 这也有一个优点,你可以使用ZIP管理器(例如WINZIP)查看内容。
商业替代品是ChillKat( http://www.chilkatsoft.com/ )
如果担心安全问题,请加密文件内容并破坏ZIP存档中的文件名。
也许来自启蒙项目的Eet图书馆?
http://en.wikipedia.org/wiki/Enlightenment_Foundation_Libraries#EET http://docs.enlightenment.org/api/eet/html/
那么BerkeleyDB呢? 它不完全是一个文件系统,但在文件中存储“二进制数据”是非常透明的。 许可似乎也是非常宽容的。