一、Zlib的安装

Linux平台:

1、Zlib的下载

wget  http://www.zlib.net/zlib-1.2.11.tar.gz

2、解压

 tar zxvf zlib-1.2.11.tar.gz 

3、编译(进入zlib-1.2.11目录)

 ./configure && make && make install

 源码编译说明:

① ./configure         //在解压软件目录内部执行

       相关参数配置,软件安装位置,支持软件设置,软件依赖检查,生成编译对应的工具文件。

       例如--prefix是设置软件的安装位置

② make               //根据configure的配置信息生成“二进制文件”

③ make  install        //把生成的二进制文件复制到系统指定目录

Window平台:

1、编译

进入"/contrib/vstudio"子目录,找到对应版本的vs打开,然后编译

备注:

(1)如果编译过程中出现"fatal error LNK1281: 无法生成 SAFESEH 映像"的错误,则将该项目的 属性页->链接器->高级->映像具有安全异常处理程序->选“否”

2、使用

(1)需要包含的头文件是"zlib.h"和"zonf.h"

(2)在项目的 属性页->c/c++->预处理器->预处理器定义  里添加  ZLIB_WINAPI

 

二、Zlib的功能测试

 写一个简单的例子测试一下,注意编译的时候要加入 -lz 这个库

#include <stdio.h>
#include <zlib.h>

int main(int argc,char **args)
{
    /*原始数据*/
    unsigned char strsrc[]="这些是测试数据。123456789 abcdefghigklmnopqrstuvwxyz\n\t\0abcdefghijklmnopqrstuvwxyz\n"; //包含\0字符
    unsigned char buf[1024]={0};
    unsigned char strdst[1024]={0};
    unsigned long srclen=sizeof(strsrc);
    unsigned long buflen=sizeof(buf);
    unsigned long dstlen=sizeof(strdst);
    int i;
    FILE * fp;

    printf("源串:");
    for(i=0;i<srclen;++i)
    {
        printf("%c",strsrc[i]);
    }
    printf("原串长度为:%ld\n",srclen);

    printf("字符串预计算长度为:%ld\n",compressBound(srclen));
    //压缩
    compress(buf,&buflen,strsrc,srclen);
    printf("压缩后实际长度为:%ld\n",buflen);
    //解压缩
    uncompress(strdst,&dstlen,buf,buflen);

    printf("目的串:");
    for(i=0;i<dstlen;++i)
    {
        printf("%c",strdst[i]);
    }

    return 0;
}

编译及测试结果:

 

参考:

1、Zlib库的安装与使用

Logo

更多推荐