2009-12-19 65 views
4

我正在寻找在libral(BSD,MIT,PD)许可证上的C++超轻型gzip压缩/解压库(比zlib明显轻一些)。谷歌搜索显示了许多库,但他们臃肿(像加密++中的GZ压缩)或更严格的许可证。超轻型gzip压缩实施?

很难相信我,有没有轻量级免费GZ实现...

优选的C++(我需要把它以流的形式),但是C将是确定的。

+0

你用gzip压缩卡住了吗? – 2009-12-19 09:33:35

+0

不完全。但是如果我选择另一个,它需要被广泛支持(AS3,PHP,Python)。 – 2009-12-19 09:44:30

+1

我正要提到LibLZF和FastLZ,但我不认为它们为C和C++之外的其他语言提供绑定。 – 2009-12-19 09:46:53

回答

6

静态链接的zlib可能是最轻的你可以得到的,它也有一个相当不错的宽松许可证。

如果它确实不够轻便,即使考虑链接器将被删除的内容,然后将其缩小以适合自己的大小可能是一个可行的选择。

+0

这也是我关心的源代码分发大小。理想情况下,我想在库中额外添加两个或四个附加文件。 – 2009-12-19 12:19:04

+1

如果源文件的数量让您感到困扰,那么您就会对zlib进行攻击,我认为您可以非常轻松地将所有头文件合并为一个或两个文件,并将实现文件合并为一个或两个。 我可以问你为什么这么关心源文件的数量?这是一个不寻常的要求。 – James 2009-12-19 20:24:28

0

zlib utility functions

这些都很轻巧。一般来说,它只需要一个函数调用,假设你所有的数据已经在适当的缓冲区中,这应该很容易。如果你想要比这更轻量级的东西(这可能不是你需要管理更多依赖的事情的宏伟计划),klamlaluno发布看起来不错。

+0

如前所述 - 我不想链接到zlib,我想静态编译*到*我的项目一个准系统轻量级简单的gz压缩和解压缩。 – 2009-12-19 11:01:18

+2

那么你为什么不使用静态zlib库并静态链接它?链接器然后将只使用应用程序使用的库的部分。 – lothar 2009-12-19 11:59:36

+0

因为我需要分发我的库的源代码。 – 2009-12-19 12:15:51