常用数据压缩库的编译与使用

这篇博客介绍了LZO、ZLIB和LZMA三种常用数据压缩库的简介、编译方法以及简单使用。作者在嵌入式Linux环境下进行实验,探讨了各种库的性能特点,包括压缩速度、内存占用和压缩比,并提供了编译静态库的步骤,适用于Windows和嵌入式Linux平台。
摘要由CSDN通过智能技术生成

常用数据压缩库的编译与使用

由于在工作中有用到数据压缩的功能,我便查找了一些压缩函数库,对这些函数库进行了简单的实验,简要对比了各自的性能。在这里,我既是对以前工作的总结,也同时希望能给其他人带来一些帮助。

首先,因为我工作中使用的环境是嵌入式Linux系统,采用的是C语言,因此我在选择压缩函数库的时候主要是选择一些能交叉编译的函数库。我前后共实验了三种函数库,分别是:LZO、ZILB和LZMA。分别在Windows平台和嵌入式Linux平台实验。由于我对压缩算法并没有深入的了解,实验的结果也不能确保一定正确,仅仅为作为一个参考。

1.    数据压缩库简介

1.1  LZO库简介

LZO库在描述自己的时候使用的是“实时数据压缩库”(a real-time data compression library),这就意味着LZO库是更加重视数据压缩的速度。该项目的主页是http://www.oberhumer.com/opensource/lzo/,LZO 遵循 GNU 的 GPL 使用许可。

LZO库最初采用ANSI C编写,是一个无损压缩库。它提供多个压缩函数接口,要得到高的压缩率,就会降低压缩速度,然而,解高压缩率的数据并没有明显速度。详细的说明可以参考其工程目录下的doc/LZO.TXT文件,这里简单列出该压缩库的一些特点:

1、解压速度非常快,解压不需要额外的内存空间。

2、压缩速度也非常快,压缩只需要64k的内存。

3、提供函数接口用来牺牲速度来换取高压缩率,但解压速度不降低。

4、有仅仅需要8k内存的压缩算法。

5、算法是线程安全的无损压缩算法。

1.2    ZLIB库简介

ZLIB库是一个通用的数据压缩库,它几乎已经成为了一个业界的标准,在许多软件中得到应用。该项目的主页是http://www.zlib.net/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值