Zlib是一個很好的壓縮解壓縮庫,今天我們分別介紹如何在Linux與Windows上安裝與使用:
一:Linux平台
首先看看自己的機器上是不是已經安裝好zlib了:
whereis zlib
如果安裝好了,會輸出zlib的路徑,這樣直接跳過前2步。
1.
下載zlib的最新版,我的是1.2.3
2.
解壓,編譯:
./configure
make
sudo make install
3.
zlib安裝好了,下面我們寫一個程序測試一下:
Makefile:
注意到,我們用-lz加入了zlib庫
test.c
4.
運行結果如下所示:
呵呵,只壓縮掉了一個字節。
我們用到了兩個函數:compress和uncompress:
壓縮:
int compress(unsigned char * dest, unsigned long * destLen, unsigned char * source, unsigned long sourceLen);
dest:壓縮後數據保存的目標緩沖區
destLen:目標緩沖區的大小(必須在調用前設置,並且它是一個指針)
source:要壓縮的數據
sourceLen:要壓縮的數據長度
compress()函數成功返回Z_OK,如果內存不夠,返回Z_MEM_ERROR,如果目標緩沖區太小,返回Z_BUF_ERROR
解壓縮:
int uncompress(unsigned char * dest, unsigned long * destLen, unsigned char * source, unsigned long sourceLen);
dest:解壓後數據保存的目標緩沖區
destLen:目標緩沖區的大小(必須在調用前設置,並且它是一個指針)
source:要解壓的數據
sourceLen:要解壓的數據長度
uncompress()函數成功返回Z_OK,如果內存不夠,返回Z_MEM_ERROR,如果目標緩沖區太小,返回Z_BUF_ERROR,如果要解壓的數據損壞或不完整,返回Z_DATA_ERROR。