LZO--实时数据压缩库
来源:互联网 发布:遗传算法岛屿模型 编辑:程序博客网 时间:2024/06/01 09:56
首先从网址https://www.oberhumer.com/opensource/lzo/下载LZO源代码,解压缩后的文件:lzo-2.10
一、介绍
doc/LZO.TXT--对LZO的介绍,doc/LZO.FAQ--各种花絮信息,NEWS--当前的更新版本较于之前的一些主要变化,
INSTALL--编译安装说明,autoconf--autoconf的配置文件,B--支持各种系统的文件,example--示例程序,包括公共的
头文件,minilzo--LZO库一个很小的子集,src--库源,tests--或多或少异乎寻常的测试程序,util--脚本。
LZO是一个便携式的无损数据压缩库,它的压缩和解压缩速度都很快,解压不需要内存,允许在压缩部分以损失压缩速度为代价提高压缩率,解压速度不会降低,适合实时压缩解压缩,支持重复压缩以及原地解压,LZO是块压缩算法——压缩解压成块的数据,压缩与解压所用块的大小必须一样,而且它的源码和压缩数据可以跨平台移植。LZOxx-N 定义了使用的算法名称,N代表压缩级别:1-9 级别使用 64 KiB(1KiB=2^10=1024B)内存,提供更快的压缩速度,99 级别使用 256 KiB 内存,提供更大的压缩比例,但是处理速度依然很快,999 级别是按照压缩比例优化的算法,压缩速度很慢,并且使用大量的内存,这种级别一般用于生成预压缩数据。LZO1B适合处理大量的数据,或者有高冗余性的数据;LZO1F适合处理小量数据和二进制数据;LZO1X适合各种环境;LZO1Y 和 LZO1Z 跟 LZO1X 很相像,它们能够在一些环境中达到更好的压缩比例。压缩以后的数据长度:对于算法 LZO1,LZO1A,LZO1B,LZO1C,LZO1F,LZO1X,LZO1Y,LZO1Z,output_block_size = input_block_size + (input_block_size / 16) + 64 + 3;对于算法LZO2A,output_block_size = input_block_size + (input_block_size / 8) + 128 + 3
假设用LZO1X-1来压缩数据:1. 压缩 #include <lzo/lzo1x.h>,调用lzo_init(),用lzo1x_1_compress()来压缩,编译连
接 LZO 库,2. 解压缩 #include <lzo/lzo1x.h>,调用lzo_init(),用lzo1x_decompress()来解压缩,编译连接 LZO 库
二、代码
Usage : lzotest [option..] file..
基础参数:-m# 压缩方法
-b# 设置输入块大小[默认为262144,最大为1310720]
-n# 压缩/解压缩进程运行数目
-c# 压缩进程运行数目
-n# 解压缩进程运行数目
-S 使用安全解压(如果有需要的话)
-@ 读入待压缩的列表
我只根据simple.c实现了最简单的压缩及解压缩功能(我的运行环境是vs2013):
- 压缩
- 解压缩
- LZO--实时数据压缩库
- 数据压缩算法LZO
- LZO致力于解压速度的一种数据压缩算法
- LZO致力于解压速度的一种数据压缩算法
- 实时数据库中的数据压缩技术
- 实时数据库中的数据压缩技术
- 数据压缩技术简史---关于实时数据压缩的基础知识
- lzo
- LZO
- 信源编码第三次作业——lzo-实时数据库压缩
- lzo 压缩与解压缩库
- 几个数据压缩库介绍
- 数据压缩
- 数据压缩
- 数据压缩
- 数据压缩
- 数据压缩
- 数据压缩
- PHP在windows和Linux下安装redis扩展
- hdu2181哈密顿绕行世界问题
- presto配置及练习
- CSS
- POJ1651 区间dp
- LZO--实时数据压缩库
- 管道和重定向
- 腾讯2017年后台实习生面经:hr面被刷
- 安卓Android关于adb服务不能运行的问题
- 背包问题-动态规划-JAVA
- 更加成熟的领导力素质和学习敏感度
- SQLAlchemy ORM教程之一:Create
- 外观模式--高层调用,删繁就简(结构型模式04)
- TCP流量控制