» 上一篇:
7z格式、LZMA压缩算法和7-Zip详细介绍
» 下一篇:
linux下安装7z命令及7z命令的使用
6月 182012
在7z格式、LZMA压缩算法和7-Zip详细介绍一文中,粗略介绍了LZMA并提及了LZMA SDK。本文在此基础上,详细介绍LZMA压缩算法的SDK(软件开发工具包),为移植7z命令到嵌入式linux系统中提供相应知道和作好相应准备。
LZMA 是 7-Zip 程序中 7z 格式 的默认压缩算法。LZMA 能提供给用户极高的压缩比及较快的压缩速度,它非常适合嵌入式系统的应用(这么优秀的软件,当然不仅仅限于嵌入式系统)。
LZMA SDK 包括:
- LZMA 编码器及解码器的 C++ 源代码
- .7z 压缩与解压缩 C++ 源代码 (精简版)
- 兼容 ANSI-C 的 LZMA / LZMA2 / XZ 压缩及解压缩源代码
- 兼容 ANSI-C 的 7z 解压缩及相关例子的源代码
- LZMA 压缩及解压缩的 C# 源代码
- LZMA 压缩及解压缩的 Java 源代码
- lzma.exe 用于 .lzma 的压缩及解压缩
- 7zr.exe 用于 7z 压缩包 (7z.exe 的精简版)
ANSI-C LZMA 解压缩代码是从原始的 C++ 源代码转换到 C。并简化和优化了代码的大小。但它依然和 7-Zip 的 LZMA 完全兼容。
LZMA 的主要特征:
- 压缩速度:在双核处理器上可以达到 2 MB/秒。
- 解压缩速度:
- 在英特尔酷睿2 或 AMD 速龙 64 上可以达到 20-30 MB/秒。
- 在 100 MHz ARM、MIPS、PowerPC 或其它精简指令集处理器上能达到 1-2MB/秒。
- 较小的解压缩内存需求:8-32 KB (依赖于字典大小)
- 较小的解压缩代码:2-8 KB
LZMA 解码器仅使用整数运算,可以在任何主流的 32 位处理器 (或在一定条件下的 16 或处理器)下运行。
请注意LZMA SDK包中的ANSI-C LZMA 解压缩代码部分。这部分就是接下来我们移植7z命令到嵌入式linux系统中的部分。
» 文章出处:
reille博客—http://velep.com
, 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明:
原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)