1 个不稳定版本
0.1.1 | 2022年3月9日 |
---|---|
0.1.0 |
|
#5 在 #ucl 中
1.5MB
24K SLoC
包含 (autotools obfuscated code, 1MB) ucl-1.03/configure, (ELF 可执行文件/库, 1KB) ucl-1.03/asm/i386/obj/elf32/cpuid.o, (ELF 可执行文件/库, 1KB) ucl-1.03/asm/i386/obj/elf32/crc_asm.o, (ELF 可执行文件/库, 1KB) ucl-1.03/asm/i386/obj/elf32/crcs_asm.o, (ELF 可执行文件/库, 1KB) ucl-1.03/asm/i386/obj/elf32/n2b_d_f1.o, (ELF 可执行文件/库, 1KB) ucl-1.03/asm/i386/obj/elf32/n2b_d_f2.o 等等,共 55 项.
ucl-sys
UCL 库的低级 FFI 绑定。
摘要
UCL 是一个用 ANSI C 编写的可移植无损数据压缩库。
UCL 实现了多种压缩算法,在保证极快解压的同时,实现了优异的压缩比。解压不需要额外的内存。
UCL 在 GNU 通用公共许可证 (GPL) 的条款下发行。
概述
UCL 实现了以下特性的多种算法
- 解压简单且极快。
- 不需要解压内存。
- 解压器可以压缩到少于 200 字节的代码。
- 包括用于生成预压缩数据的压缩级别,以实现优异的压缩比。
- 允许在压缩器中以速度代价进行额外的压缩。解压器的速度不会降低。
- 算法是线程安全的。
- 算法是无损的。
UCL 支持原地解压。
设计标准
UCL 的主要设计目标是实现极高的解压速度,同时实现优异的压缩比。几乎所有应用程序都应能实现实时解压。使用优化过的 i386 汇编代码实现的 NRV2B 解压器运行速度约为 memcpy() 的五分之一——对于许多文件来说甚至更快。
可移植性
UCL 的解压器应在任何系统上工作——它们甚至可以被移植到 8 位处理器,如 Z-80 或 6502。
UCL 的压缩器目前需要至少 32 位整数。虽然将它们移植到更受限的环境(如 16 位 DOS)在理论上应不太费力,但在此阶段这并不被视为重要。
版权
UCL 库的版权所有者是 Markus Franz Xaver Johannes Oberhumer,版权所有 (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 [email protected]。
UCL 库在 GNU 通用公共许可证 (GPL) 的条款下发行。请参阅文件 COPYING。
对于不愿接受 GNU 通用公共许可证的商业和其他应用,可以通过联系作者获取特殊许可证。
依赖关系
~0–1.8MB
~34K SLoC