20

このようなものの「一般的な」名前が何であるかはわかりません。さまざまな種類のバイナリデータを拡張する単一のファイルに保存するためのファイル形式を提供するライブラリを探しています。

  • オープンソース、非GPL(LGPL ok)
  • Cインターフェース
  • ファイル形式は単一のファイルです
  • POSIXのようなファイルAPIを使用した複数のファイル(または他のAPIを使用した複数の「ブロブ」)
  • ファイル/構造の編集はインプレースで行われます
  • 最初に信頼性が高く、次にパフォーマンスが高い

例は次のとおりです。

上記の問題:

  • whefsはあまり成熟していないように見えますが、私が何を求めているかを最もよく表している
  • HDF、CDF、NetCDFは使用可能です(非常に信頼性が高く高速です)が、かなり複雑で、不透明なバイナリ「ブロブ」のサポートについて完全に確信しているわけではありません。

編集:
言及するのを忘れました、もう1つの関連する質問:
C / C ++の単純な仮想ファイルシステム
別の同様の質問:
Windows複合ファイルのオープンソースの代替手段はありますか?

編集:
インプレース編集の条件を追加しました。

編集:
whefsに取って代わられました:whio_epfs

4

5 に答える 5

6

これは私が探していたものを実行しているようです:libgsf

それでも、その信頼性/パフォーマンスと、バイナリ形式がどのようにクロスプラットフォームであるかをテストする必要があります。

于 2010-03-01T18:31:39.250 に答える
0

WxWindowsライブラリはZIPファイルをサポートしています(http://docs.wxwidgets.org/stable/wx_wxarc.html#wxarcを参照)。これには、ZIPマネージャー(WINZIPなど)を使用してコンテンツを表示できるという利点もあります。

商用の代替手段はChillKat(http://www.chilkatsoft.com/)です。

セキュリティが懸念される場合は、ファイルの内容を暗号化し、ZIPアーカイブ内のファイル名をマングルします。

于 2010-02-25T20:12:54.970 に答える
0

BerkeleyDBはどうですか?正確にはファイルシステムではありませんが、「バイナリデータ」をファイルに保存することは非常に透過的です。ライセンスもかなり寛容なようです。

于 2010-03-20T14:05:10.960 に答える
0

Linuxループバックデバイスについて話しているようです。これにより、ファイルシステム上のファイルをファーストクラスのブロックデバイスとして扱うことができます(その後、mkfs、mountなどに進みます)。

(どのようなプラットフォームをターゲットにしていますか?フル機能のUnixライクですか?小さなフットプリントの組み込みスペースに何かありますか?)

于 2010-02-25T19:32:42.707 に答える
0

啓蒙主義プロジェクトからのEetライブラリかもしれませんか?

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

于 2010-03-11T14:43:49.467 に答える