Zlib
damenhanter
这个作者很懒,什么都没留下…
展开
-
zlib剖析(四)
下面分析test/example.c,它示范了zlib库的各个函数的使用。 下面代码定义要压缩的字符串、压缩时使用的字典、压缩/解压缩的内存分配策略等。[cpp] view plaincopy/* example.c -- usage example of the zlib compression library * Copyri转载 2014-06-14 17:18:12 · 1538 阅读 · 0 评论 -
zlib库剖析(一)
本文整理自zlib.net以及zlib 1.2.7的手册页http://zlib.net/manual.html。 zlib是一套免费、通用、法律上不受限制的无损数据压缩库,可以在任何硬件及操作系统上使用。zlib数据格式可以跨平台移植。不像Unix compress(1)和GIF图像格式中使用的LZW压缩方法,当前zlib中使用的压缩算法不会扩充数据(LZW在极端情况下能使文件大小变为转载 2014-06-14 17:15:51 · 28917 阅读 · 1 评论 -
zlib剖析(二)
1、编译zlib库 在Linux下编译比较简单,在源码包中的Makefile.in中有说明。要编译和测试,在命令行下输入./configure; make test,通常会生成静态库(.a)和共享库(.so,类似windows下面的.dll)。如果只想编译成静态库,用./configure --static。为了安装到/usr/local/lib/libz.*和/usr/local/in转载 2014-06-14 17:16:39 · 1723 阅读 · 0 评论 -
zlib剖析(三)
我们常常疑惑不知道怎么样使用deflate()和inflate()。用户想知道应该在什么时候提供更多输入,什么时候使用更多输出,怎么处理Z_BUF_ERROR,怎么确保处理正确地终止,等等。example目录下有一个简单的例程zpipe.c,示范了使用deflate()和inflate()来把输入文件压缩或解压到输出文件。下面对各行代码进行解释。 我们为需要的定义包含头文件。对std转载 2014-06-14 17:17:21 · 2274 阅读 · 1 评论