LZMA SDK(软件开发工具包)(英文版)

LZMA 软件开发工具包(以下简称 SDK)给开发客户提供文档、源代码以及几个使用 LZMA 压缩算法制作的应用程序的例子。

链接 大小 日期 版本 描述
下载 1 MB 2024-11-29 24.09 LZMA SDK
C、C++、C#、Java
包含 Windows 二进制文件
下载 1 MB 2023-06-20 23.01
下载 12 KB 2015-06-14 LZMA 规范(草案)

注意:如果您使用 LZMA SDK 中的 XZ 代码,建议您从 15.05 beta 中升级到最新的 XZ 代码,新版本的 XZ 代码修复了一些 bug。

工具包更新:

  • 24.09:增加 LZMA/LZMA2 压缩算法的默认字典大小值。
  • 24.05:新的 RISC-V 可执行文件过滤器。
  • 23.01:新的 ARM64 可执行文件过滤器。优化 BCJ2 过滤器,可获得更好的压缩比。修复已知错误。
  • 21.07:一些小改动和错误修复。
  • 21.06:修复了 LZMA 的编码函数。
  • 21.03 beta:LZMA 字典大小最大支持 4 GB。速度优化。
  • 21.02 alpha:支持 macOS 及 Linux。速度优化。
  • 19.00:加强 7z 压缩档案的加密强度。
  • 18.06:部分 LZMA/LZMA2 代码的速度优化。
  • 18.05:部分 LZMA/LZMA2 代码的速度优化。
  • 18.01:对 LZMA2/xz 多线程压缩代码进行部分改动。修复已知错误。
  • 9.35:修复已知错误,SDK 中新增 AES 源代码以及 SFX 模块。
  • 9.20:新增用于安装包的精简版 SFX 自释放模块。
  • 9.11:支持 PPMd。
  • 9.04:增加对 LZMA2 以及 XZ 的支持。
  • 4.62:修复小错误。LZMA SDK 隶属于 公有领域
  • 4.58:速度优化,为 LZMA 压缩提供了新的 ANSI-C 代码。
  • 4.57:速度优化,修复了一些小错误。
  • 4.49:完善 .7z ANSI-C 解码器。增加 C++ 的 .7z 压缩档案处理代码。

LZMA7-Zip 程序中 7z 格式 的默认压缩算法。LZMA 能提供给用户极高的压缩比及较快的压缩速度,它非常适合与应用程序集成。

LZMA SDK 包括:

  • LZMA 编码器及解码器的 C++ 源代码
  • .7z 压缩与解压缩 C++ 源代码(精简版)
  • 兼容 ANSI-CLZMA / LZMA2 / XZ 压缩及解压缩源代码
  • 兼容 ANSI-C7z 解压缩及相关例子的源代码
  • LZMA 压缩及解压缩的 C# 源代码
  • LZMA 压缩及解压缩的 Java 源代码
  • lzma.exe 用于 .lzma 的压缩及解压缩
  • 7zr.exe 用于 7z 压缩包(7z.exe 的精简版)
  • SFX 模块 可以用来创建自释放压缩包以及应用程序安装包

ANSI-C LZMA 解压缩代码是从原始的 C++ 源代码转换到 C。并简化和优化了代码的大小。但它依然和 7-ZipLZMA 完全兼容。

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 隶属于 公有领域

LZMA 相关链接


Copyright (C) 2024 7zip.com

LZMA SDK (Software Development Kit)

The LZMA SDK provides the documentation, samples, header files, libraries, and tools you need to develop applications that use LZMA compression.

Link Size Date Version Description
Download 1.7 MB 2024-11-29 24.09 LZMA SDK
C, C++, C#, Java
x86/x64 binaries for Windows
Download 1 MB 2023-06-20 23.01
Download 12 KB 2015-06-14 LZMA Specification (Draft)

What's new:

  • 24.09: The default dictionary size values for LZMA/LZMA2 compression methods were increased.
  • 24.05: New filter for RISC-V executables.
  • 23.01: New filter for ARM64 executables. BCJ2 filter was improved for better compression ratio. Some bugs were fixed.
  • 21.07: Some minor changes and fixes.
  • 21.06: The bug in LZMA encoding function was fixed.
  • 21.03 beta: LZMA dicrionary up to 4 GB. Speed optimizations.
  • 21.02 alpha: macOS and Linux support. Speed optimizations.
  • 19.00: Encryption strength for 7z archives was increased.
  • 18.06: Some speed optimiztions in LZMA/LZMA2 code.
  • 18.05: Some speed optimiztions in LZMA/LZMA2 code.
  • 18.01: Some changes in LZMA2/xz multithreading code for compressing. Some bugs were fixed.
  • 9.35: AES code and SFXs modules were included to SDK.
  • 9.20: New small SFX module for installers.
  • 9.11: PPMd support.
  • 9.04: LZMA2 and XZ support.
  • 4.62: LZMA SDK is placed in the public domain.

LZMA / LZMA2 are default and general compression methods of 7z format in the 7-Zip program. LZMA provides a high compression ratio and fast decompression, so it is very suitable for embedded applications. For example, it can be used for ROM (firmware) compressing.

LZMA SDK includes:

  • C++ source code of LZMA Encoder and Decoder
  • C++ source code for .7z compression and decompression (reduced version)
  • ANSI-C compatible source code for LZMA / LZMA2 / XZ compression and decompression
  • ANSI-C compatible source code for 7z decompression with example
  • C# source code for LZMA compression and decompression
  • Java source code for LZMA compression and decompression
  • lzma.exe for .lzma compression and decompression
  • 7zr.exe to work with 7z archives (reduced version of 7z.exe from 7-Zip)
  • SFX modules to create self-extracting packages and installers

ANSI-C and C++ source code in LZMA SDK is subset of source code of 7-Zip.

LZMA features:

  • Compression speed: 2-8 MB/s on 4 GHz CPU using two cpu threads.
  • Decompression speed on single cpu thread:
    • 30-100 MB/s on modern 4 GHz CPU (Intel, AMD, ARM).
    • 5-15 MB/s on simple 1 GHz RISC CPU (ARM, MIPS, PowerPC).
  • Small memory requirements for decompression: 8-32 KB + DictionarySize
  • Small code size for decompression: 2-8 KB (depending on speed optimizations)

The LZMA decoder uses only CPU integer instructions and can be implemented for any modern 32-bit CPU.

License

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA Links


Copyright (C) 2024 7zip.com