开发者

Open source embedded filesystem (or single file virtual filesystem, or structured storage) library for C [closed]

开发者 https://www.devze.com 2022-12-21 11:53 出处:网络
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 7 years ago.

Improve this question

I'm not sure what the "general" name of something like this might be. I'm looking for a library that gives me a file format to store different types of binary data in an expanding single file.

  • open source, non-GPL (LGPL ok)
  • C interface
  • the file format is a single file
  • multiple files within using a POSIX-like file API (or multiple "blobs" within using some other API)
  • file/structure editing is done in-place
  • reliable first, performant second

Examples include:

  • the virtual drives of a virtual machine
  • whefs
  • HDF
  • CDF
  • NetCDF

Problems with the above:

  • whefs doesn't appear to be very mature, but best describes what I'm after
  • HDF, CDF, NetCDF are usable (also very reliable and fast), but they're rather complicated an开发者_如何学运维d I'm not entirely convinced of their support for opaque binary "blobs"

Edit:

Forgot to mention, one other relevant question:

Simple Virtual Filesystem in C/C++

Another similar question:

Is there an open-source alternative to Windows compound files?

Edit:

Added condition of in-place editing.

Edit:

whefs superseded by: whio_epfs


This appears to do what I was looking for: libgsf

Still need to test its reliability/performance and how cross-platform the binary format is.


It sounds like you're talking about the Linux loopback device, which lets you treat a file on a filesystem as a first-class block device (and then proceed to mkfs, mount, etc.)

(What sort of platform are you targetting? A fully-featured Unixlike? Something in the embedded space with a small footprint?)


The WxWindows library supports ZIP files (see http://docs.wxwidgets.org/stable/wx_wxarc.html#wxarc). This has also the advantage that you can look at the contents using a ZIP manager (e.g. WINZIP).

A commercial alternative is ChillKat (http://www.chilkatsoft.com/)

If security is a concern, encrypt the file contents and mangle the file names in the ZIP archive.


Eet library from the Enlightenment project maybe?

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


What about BerkeleyDB? It's not exactly a filesystem but it's quite transparent to store 'binary data' in a file. License seems to be quite permissive as well.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号