【问题标题】:C/C++ Packing and Compression [closed]C/C++ 打包和压缩
【发布时间】:2010-11-16 12:06:14
【问题描述】:

我正在从事一个商业项目,该项目需要将几个文件捆绑(打包)到存档中,然后进行压缩。现在我们的实用程序库中有 zlib,但它看起来不像 zlib 具有将多个文件压缩到一个存档中的功能。有谁知道我可以为此使用的免费库?

【问题讨论】:

    标签: c++ c compression archive zlib


    【解决方案1】:

    7Zip 有一个full SDK,适用于包括 C 和 C++ 在内的多种语言。压缩非常好,虽然不是很快。该代码在 LGPL 下获得许可。

    【讨论】:

    • 7Zip 也很好地支持 AES 加密。
    • 就个人而言,我是 7Zip 的粉丝,但 LGPL 在这种情况下可能会导致问题。
    • 7-Zip 的 LZMA SDK 部分属于公共领域,因此不存在 LGPL 问题。如果您想要 7-Zip 的所有功能(不仅仅是 LZMA),那么 7-Zip 本身就在 LGPL 之下,但这对于商业应用程序来说不是问题,只要您将其保留在 DLL 中,包括LGPL 在您的发行版中,并根据要求提供源代码。
    【解决方案2】:

    也许是libtar?同样在 BSD 许可下。

    【讨论】:

    • 看起来 libtar 是这个项目的一个很好的解决方案。感谢大家的快速回复。
    【解决方案3】:

    您可以使用libzip - 它在类似 BSD 的许可下,因此应该可以在商业项目中使用。

    【讨论】:

      【解决方案4】:

      要将多个文件压缩到一个 zip 存档中,您可以使用 Zipios++

      【讨论】:

        【解决方案5】:

        也可以看看bzip2

        【讨论】:

        • bzip2 无法将多个文件压缩到一个存档中。您通常使用 tar 将所有文件合并为一个,然后再将其提供给 bzip。
        猜你喜欢
        • 1970-01-01
        • 2021-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-13
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多