谁用过linux里的zlib

谁用过linux里的zlib,第1张

我下了zlib,解压放在了linux服务器下,自己编了个程序

#include <iostream>

#include <vector>

#include "zlib.h"

using namespace std

int main()

{

const unsigned char strSrc[] = "jasddsfsfaffafasd"

unsigned char buff[1024] = {0}, strDst[1024] = {0}

unsigned long srcLen = sizeof(strSrc), bufLen = sizeof(buff), dstLen = sizeof(strDst)

//压缩

compress(buff, &bufLen, strSrc, srcLen)

//解压缩

uncompress(strDst, &dstLen, buff, bufLen)

cout <<strDst <<endl

return 0

}

但是程序编译出错

undefined reference to `compress'

undefined reference to `uncompress'

linux下不会使用库,所以出错了,哪位能帮我详细的说下linux下怎么使用库的。

答:你把zlib包解压后要编译一下,它会生成一个zlib.so之类的库文件,

编译的时候引用这个库文件就可以#include"zlib.h"了,

就像$ gcc -o z z.c -lz

z就是生成的可执行文件,z.c就是你的代码,-lz就是引用zlib.so了

引用 4 楼 haihai05 的回复:换个问法,写的那个简单的程序为什么会报那样的错呢?不是说给例子。主要是想明白怎么样在linux下使用像zlib包这样的东东的。是直接解压后放在linux下就可以#include"zlib.h"

给自己的程序服务了吗?如果是但是上面那个为什么不对呢?引用 1 楼 showman 的回复:

zlib包不是有个example.c吗?

一个极简单的例程:

$ cat z.c

#include <stdio.h>

...

想要在linux平台上编译安装zlib软件,你需要搜索zlib官方网站,下载源码来安装zlib软件包进行安装即可。

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7248117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存