ZLIB 数据压缩库
zlib 1.2.8 是一个通用数据压缩库。所有代码都是线程安全的。zlib 库使用的数据格式在 RFC(请求评论)1950 至 1952 中描述,文件位于: http://tools.ietf.org/html/rfc1950 (zlib 格式)、rfc1951 (deflate 格式) 和 rfc1952 (gzip 格式)。
压缩库的所有函数都在文件 zlib.h 中进行了说明(欢迎志愿者编写手册页,请联系 [email protected])。库的使用示例见文件 test/example.c,该文件还测试库是否正常工作。另一个示例见文件 test/minigzip.c。压缩库本身由根目录下的所有源文件组成。
要编译所有文件并运行测试程序,请按照 Makefile.in 顶部的说明操作。简而言之,对于大多数 Unix 变体,执行 "./configure; make test",如果一切顺利,运行 "make install" 即可。对于 Windows,请使用 win32/ 或 contrib/vstudio/ 中的特殊 makefile。对于 VMS,请使用 make_vms.com。
关于 zlib 的问题应发送至 [email protected],或关于 Windows DLL 版本的发送至 Gilles Vollant [email protected]。zlib 主页是 http://zlib.net/。在报告问题之前,请检查此网站以确保您拥有最新版本的 zlib;否则请获取最新版本并检查问题是否仍然存在。
在寻求帮助之前,请阅读 zlib 常见问题解答:http://zlib.net/zlib_faq.html。
Mark Nelson [email protected] 在 1997 年 1 月的 Dr. Dobb's Journal 上发表了一篇关于 zlib 的文章;该文章的副本可在 http://marknelson.us/1997/01/01/zlib-engine/ 获取。
1.2.8 版本所做的更改记录在文件 ChangeLog 中。
不受支持的第三方贡献位于 contrib/ 目录中。
zlib 可通过 Java 中的 java.util.zip 包使用,相关文档见 http://java.sun.com/developer/technicalArticles/Programming/compression/。
由 Paul Marquess [email protected] 编写的 zlib 的 Perl 接口可在 CPAN(综合 Perl 档案网络)站点获取,包括 http://search.cpan.org/~pmqs/IO-Compress-Zlib/。
由 A.M. Kuchling [email protected] 编写的 zlib 的 Python 接口可在 Python 1.5 及更高版本中使用,参见 http://docs.python.org/library/zlib.html。
zlib 已内置到 tcl 中:http://wiki.tcl.tk/4610。
一个由 Gilles Vollant [email protected] 在 zlib 之上编写的用于读取和写入 .zip 格式文件的实验性软件包,位于 zlib 的 contrib/minizip 目录中。
某些目标的注意事项:
对于 Windows DLL 版本,请参阅 win32/DLL_FAQ.txt
对于 64 位 Irix,必须在不进行任何优化的情况下编译 deflate.c。如果使用 -O 优化,一个 libpng 测试会失败。该测试在 32 位模式(使用 -n32 编译器标志)下工作正常。该编译器错误已报告给 SGI。
在运行 OSF/1 2.1 的 DEC 3000/300LX 上,zlib 无法与 gcc 2.6.3 一起使用;但使用 cc 编译时可以正常工作。
在 AlphaServer 上的 Digital Unix 4.0D(原 OSF/1)上,需要 cc 的 -std1 选项才能使 gzprintf 正常工作。这由 configure 完成。
在 HP-UX 9.05 上,某些版本的 /bin/cc 无法与 zlib 配合使用。其他编译器可以。请使用 "make test" 检查您的编译器。
gzdopen 在 RISCOS 或 BEOS 上不受支持。
对于 PalmOs,请参见 http://palmzlib.sourceforge.net/。
致谢:
zlib 使用的 deflate 格式由 Phil Katz 定义。deflate 和 zlib 规范由 L. Peter Deutsch 编写。感谢所有报告问题并为 zlib 提出各种改进建议的人;人数众多,无法在此一一列举。
版权声明:
(C) 1995-2013 Jean-loup Gailly 和 Mark Adler
本软件按“原样”提供,不附带任何明示或暗示的保证。在任何情况下,作者均不对因使用本软件而产生的任何损害承担责任。
允许任何人出于任何目的使用本软件,包括商业应用,以及对其进行修改和重新分发,但须遵守以下限制:
Jean-loup Gailly Mark Adler [email protected] [email protected]
如果您在产品中使用 zlib 库,我们希望 不要 收到需要签署冗长法律文件的要求。源代码是免费提供的,但没有任何形式的保证。该库完全由 Jean-loup Gailly 和 Mark Adler 编写;不包含第三方代码。
如果您重新分发修改后的源代码,我们希望能将您的更改记录在 ChangeLog 文件中。请阅读常见问题解答以获取有关修改后源代码分发的更多信息。