ZLIB 数据压缩库
zlib 1.2.7 是一个通用数据压缩库。所有代码都是线程安全的。zlib 库使用的数据格式在 RFC(请求评论)1950 到 1952 中描述,文件位于: http://tools.ietf.org/html/rfc1950(zlib 格式)、rfc1951(deflate 格式)和 rfc1952(gzip 格式)。
压缩库的所有函数都在文件 zlib.h 中说明(欢迎志愿者编写 man 页面,请联系 [email protected])。库的使用示例在文件 test/example.c 中给出,该文件也测试库是否正常工作。另一个示例在文件 test/minigzip.c 中给出。压缩库本身由根目录中的所有源文件组成。
要编译所有文件并运行测试程序,请遵循 Makefile.in 顶部的说明。简而言之,运行 "./configure; make test",如果一切顺利,"make install" 应该适用于大多数 Unix 变种。对于 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.7 中所做的更改记录在文件 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。
一个用于读写 .zip 格式文件的实验性包,由 Gilles Vollant [email protected] 在 zlib 之上编写,可在 zlib 的 contrib/minizip 目录中找到。
一些目标的注意事项:
对于 Windows DLL 版本,请参阅 win32/DLL_FAQ.txt
对于 64 位 Irix,必须在不进行任何优化的情况下编译 deflate.c。如果使用 -O,一个 libpng 测试会失败。该测试在 32 位模式下(使用 -n32 编译器标志)可以工作。编译器错误已报告给 SGI。
zlib 在 DEC 3000/300LX 上的 OSF/1 2.1 下无法与 gcc 2.6.3 一起工作;当使用 cc 编译时它可以工作。
在 AlphaServer 上的 Digital Unix 4.0D(以前称为 OSF/1)上,需要使用 cc 选项 -std1 才能让 gzprintf 正常工作。这是由 configure 完成的。
zlib 在某些版本的 HP-UX 9.05 上无法与 /bin/cc 一起工作。它可以与其他编译器一起工作。使用 "make test" 来检查您的编译器。
gzdopen 在 RISCOS 或 BEOS 上不受支持。
对于 PalmOs,请参见 http://palmzlib.sourceforge.net/
致谢:
zlib 使用的 deflate 格式由 Phil Katz 定义。deflate 和 zlib 规范由 L. Peter Deutsch 编写。感谢所有报告问题并建议对 zlib 进行各种改进的人们;他们数量太多,无法在此一一列举。
版权声明:
(C) 1995-2012 Jean-loup Gailly 和 Mark Adler
本软件按“原样”提供,不附有任何明示或暗示的保证。在任何情况下,作者均不对因使用本软件而引起的任何损害承担责任。
允许任何人出于任何目的使用本软件,包括商业应用程序,以及自由修改和重新分发本软件,但须遵守以下限制:
Jean-loup Gailly Mark Adler [email protected] [email protected]
如果您在产品中使用 zlib 库,我们希望 不 需要签署冗长的法律文件。源代码是免费提供的,但不提供任何形式的保证。该库完全由 Jean-loup Gailly 和 Mark Adler 编写;它不包含第三方代码。
如果您重新分发修改后的源代码,我们希望您在 ChangeLog 文件中包含记录您更改的历史信息。请阅读常见问题解答以获取有关修改后源代码版本分发的更多信息。