数据压缩算法LZO

一、什么是LZO 

LZO是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写。这个算法是无损算法,参考实现程序是线程安全的。实现它的一个自由软件工具是lzop。最初的库是用 ANSI C 编写、并且遵从 GNU通用公共许可证发布的。现在 LZO 有用于 Perl、Python 以及 Java的各种版本。代码版权的所有者是 Markus F. X. J. Oberhumer。

对于游戏开发人员来说LZO有以下优点。

(1)解压缩速度非常快。

(2)不需要额外的内存解压缩。

(3)能设置不同的压缩参数改变压缩率,但设置这些压缩参数不会降低解压速度。

(4)LZO是无损压缩,压缩后的数据能准确还原。

MiniLZO是一个轻量级的压缩/解压缩库,设计MiniLZO的目的是为了某些只需包含一个小型的压缩/解压缩功能,而不想包含LZO全部代码的程序而设计的。编译后的MiniLZO库少于5KB,非常适合内嵌在主程序中。

 

源码地址:

C: http://www.oberhumer.com/opensource/lzo/

c#:http://lzohelper.codeplex.com/

本次主要调试miniLZO,下载后,解压,在vs中新建一个win32控制台,然后分别把三个头文件和两个源文件加到对应的文件夹,如图:


点击testmini.c


调试成功,是无损压缩

分析部分程序:

/* malloc & free 函数功能类型 */
typedef lzo_voidp (__LZO_CDECL *lzo_alloc_func_t)
    (lzo_callback_p self, lzo_uint items, lzo_uint

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值