日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

检查linux是否安装zlib,Linux下安装zlib

發(fā)布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 检查linux是否安装zlib,Linux下安装zlib 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

zlib 程序庫是著名的壓縮引擎,zlib 也是著名的gzip (GNU zip) 所采用的壓縮引擎。 如何安裝zlib庫? 一、 首先安裝zlib,從其官方網(wǎng)站下載最新的源程序,網(wǎng)址:

zlib

程序庫是著名的壓縮引擎,zlib也是著名的gzip (GNU zip)所采用的壓縮引擎。

如何安裝zlib庫?

一、 首先安裝zlib,從其官方網(wǎng)站下載最新的源程序,網(wǎng)址:。

在然后將下載的文件解壓釋放到目錄。解壓后文件夾中自帶了合適的makefile:

當(dāng)使用make命令進行編譯時,會要求先運行同一目錄中的configure文件。

打開configure文件我們可以發(fā)現(xiàn)是Shell Script,所以運行sudo sh

configure來執(zhí)行該腳本。

二、 然后,通過查看makefiles文件,我們通過make命令編譯該程序庫,編譯成功后(用root權(quán)限),通過make install來安裝該庫,也就是將頭文件和lib文件自動放置到/usr/include和/usr/lib中。

三、 安裝完成后,就可以編寫簡單的壓縮程序了,例如簡單的示例如下:

#include

#include

#include

#include

#include

int main(int argc,char **argv[])

{

char msg[1000]="123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\n";

char buf[1000];

char result[1000];

unsigned long len, lenresult;

printf("msg size:%d\n", sizeof(msg));

len = 1000;

compress(buf, &len, msg, sizeof(msg) );

printf("buf size:%d\n", len);

lenresult=1000;

uncompress(result,&lenresult, buf, len );

printf("result size:%d\n", lenresult);

printf("result:%s\n", result);

return 0;

}運行后的結(jié)果為:

其中函數(shù)

1、int compress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);

compress函數(shù)將source緩沖區(qū)中的內(nèi)容壓縮到dest緩沖區(qū)。sourceLen表示source緩沖區(qū)的大小(以字節(jié)計)。注意函數(shù)的第二個參數(shù)destLen是傳址調(diào)用。當(dāng)調(diào)用函數(shù)時,destLen表示dest緩沖區(qū)的大小,destLen> (sourceLen

+ 12)*100.1%。當(dāng)函數(shù)退出后,destLen表示壓縮后緩沖區(qū)的實際大小。此時destLen/sourceLen正好是壓縮率。

compress若成功,則返回 Z_OK;若沒有足夠內(nèi)存,則返回Z_MEM_ERROR;若輸出緩沖區(qū)不夠大,則返回Z_BUF_ERROR。

2、int uncompress(Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);

uncompress 函數(shù)將 source 緩沖區(qū)的內(nèi)容解壓縮到 dest 緩沖區(qū)。sourceLen 是 source 緩沖區(qū)的大小(以字節(jié)計)。注意函數(shù)的第二個參數(shù) destLen 是傳址調(diào)用。當(dāng)調(diào)用函數(shù)時,destLen

表示 dest 緩沖區(qū)的大小, dest 緩沖區(qū)要足以容下解壓后的數(shù)據(jù)。在進行解壓縮時,需要提前知道被壓縮的數(shù)據(jù)解壓出來會有多大。這就要求在進行壓縮之前,保存原始數(shù)據(jù)的大小(也就是解壓后的數(shù)據(jù)的大小)。這不是 zlib 函數(shù)庫的功能,需要我們做額外的工作。當(dāng)函數(shù)退出后,destLen 是解壓出來的數(shù)據(jù)的實際大小。

uncompress 若成功,則返回 Z_OK ;若沒有足夠內(nèi)存,則返回 Z_MEM_ERROR;若輸出緩沖區(qū)不夠大,則返回Z_BUF_ERROR。若輸入數(shù)據(jù)有誤,則返回 Z_DATA_ERROR。

程序編譯記得加上-lz ,制定庫文件。

總結(jié)

以上是生活随笔為你收集整理的检查linux是否安装zlib,Linux下安装zlib的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。