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(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

   
© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量