具有公共域许可证的最佳zip库

Shi*_*iva 30 c c++ zip

有没有人知道公共领域许可证中的C/C++ zip库?

它符合以下要求.

  1. 它由像stb_image.c库这样的单元操作
  2. 支持跨平台.Windows,Mac,Linux等.
  3. 语言是C/C++
  4. 许可是公共领域.

dk1*_*123 18

我推荐ZipLib.

我喜欢这个项目的个人原因:

  • 围绕c ++ 11 stl流构建(例如解压缩成 STL流!)
  • 轻量级(除了zlib之外没有依赖项)
  • 可以在windows和linux上使用

我花了很长时间才找到这个项目 - 希望这对某人有所帮助.

  • 经过几个小时(第二天)尝试其他库(minizip、minizip 的分支(都使用 ZLib)和其他库)——这是唯一一个在 Windows 和 64 位环境中无缝构建的库——它包括所有依赖项(ZLib、bzip、lzma)均在内部,因此您无需浪费时间和麻烦来处理路径、构建类型、安装以及仅为了 .zip 支持而管理多个外部存储库 - 它只是开箱即用地构建作为一个没有依赖项的独立存储库(尽管使用 ZLib)并且易于使用。强烈推荐!感谢您的提醒。 (2认同)
  • 我们已经使用它很多年了,需要注意的一件事是,在 Linux 和 MacO 上,该库非常快,但在 Windows 上压缩非常慢(对于同一文件,在 Unix 上大约慢 15 倍) (2认同)

小智 16

当问到这个问题时,它还不存在.但现在它确实:miniz - 公共领域,单个C文件,明确受到stb_image等的启发.

  • 值得注意的是,miniz 不再是公共领域,最近的版本已切换到 MIT 许可证。(MIT 许可部分是 ZIP64 支持。如果您在合并 ZIP64 支持之前拥有旧版本,那仍然是公共领域。) (2认同)

el.*_*ado 11

最流行的开源zip实现是Info-Zip.zip文件格式中使用的Deflate算法由zlib库实现.两者都是在自由的,类似BSD的许可证上发布的,但不是公共领域.


x-x*_*x-x 6

它不是公共领域,但包含在zlib 中的Minizip满足您的其他三个要求。它还包含 miniunz.c,一个非常容易理解的 zip/unzip 示例。


eru*_*orm 0

http://www.bzip.org/非常常见,并且需要多种目标语言的大量 easy_installs。

更新: 我意识到这是错误的,但这是一个常见的误解,所以我将其作为哨兵来描述一个常见的错误。

  • 尽管名称相似,但 bzip2 != zip (2认同)