项目简介
zlib-ng 是 zlib 数据压缩库的下一代版本,专为现代系统优化。它运用现代化的 C11 语法和优化的代码布局,具备更高性能与更好的可维护性。该库不仅兼容传统 zlib API,还引入新的优化策略和硬件加速支持,适用于需要高效压缩和解压缩的场景。
项目的主要特性和功能
- 兼容性:支持与 zlib 兼容的 API,支持双链接。
- 现代化 API:基于 zlib API 的现代化原生 API,便于移植。
- 硬件加速:支持多种 CPU 指令集,如 SSE2、AVX2、Neon、VSX 等,提升压缩和解压缩性能。
- 优化算法:包含来自 Intel 和 Cloudflare 的优化算法,提升压缩效率。
- 跨平台支持:支持 Windows、macOS 和 Linux 平台,提供 ARM、AARCH64、PPC 等架构的模拟测试。
- 构建系统:支持 CMake、Configure 和 NMake 构建系统,提供丰富的单元测试和代码覆盖率工具。
- 模糊测试:通过 OSS-Fuzz 进行模糊测试,确保代码的稳定性和安全性。
安装使用步骤
1. 使用 CMake 构建
bash
cmake .
cmake --build . --config Release
ctest --verbose -C Release
2. 使用 Configure 构建
bash
./configure
make
make test
3. 安装
CMake 安装
bash
cmake --build . --target install
Configure 安装
bash
make install
4. 使用 LD_PRELOAD 临时替换系统 zlib
bash
LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.11.zlib-ng /usr/bin/program
构建选项
- ZLIB_COMPAT:编译与 zlib 兼容的 API。
- WITH_OPTIM:启用优化。
- WITH_SANITIZER:启用内存、地址和未定义行为的检测。
- WITH_FUZZERS:构建模糊测试工具。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】