项目简介
zlib-ng 是为下一代系统打造的数据压缩库,作为 zlib 的增强替代方案,在保持与 zlib 兼容 API 的同时,引入现代 C11 语法、CPU 指令集优化等特性,提升了性能和可维护性。
项目的主要特性和功能
- 兼容与易用:提供与 zlib 兼容的 API,支持双链接,还有基于 zlib API 的现代化原生 API,便于代码移植。
- 现代代码风格:采用现代 C11 语法,代码布局简洁。
- 算法优化:拥有基于 Intel zlib 分支的 Deflate 中等和快速算法。
- CPU 指令集支持:支持 SSSE3、AVX2、Neon、VSX、PCLMULQDQ、ACLE 等多种 CPU 指令集,用于 Adler32、CRC32 - B 等计算和哈希表、滑动哈希实现,以及块复制等操作,还支持 IBM Z 向量指令和 DFLTCC 硬件加速的 Deflate。
- 内存与性能改进:改进了未对齐内存读写和大位缓冲区。
- 构建与测试支持:支持 Configure、CMake 和 NMake 构建系统,有全面的 CMake 单元测试,包含代码清理、模糊测试和覆盖率检测。
安装使用步骤
前提条件
用户已下载本项目的源码文件。
构建项目
有两种构建方式:
- CMake 方式:
bash
cmake .
cmake --build . --config Release
ctest --verbose -C Release
也可使用 ccmake .
进行配置。
- Configure 方式:
bash
./configure
make
make test
安装项目(谨慎操作)
不建议手动安装,可能会覆盖系统默认 zlib 库。若要手动安装,建议使用 /opt/
路径前缀。
- CMake 安装:
bash
cmake --build . --target install
- Configure 安装:
bash
make install
使用建议
对于 Linux 发行版,若以 zlib - compat 模式编译,可通过 LD_PRELOAD
环境变量临时使用 zlib - ng。例如:
bash
LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.11.zlib-ng /usr/bin/program
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】