项目简介
本项目的zlib-ng是一个基于C语言开发的下一代数据压缩库。它是zlib的衍生版本,目的是提供更高效、更现代的压缩和解压缩功能,且不会取代zlib,可作为直接替换库与zlib共存,降低代码更改门槛。
项目的主要特性和功能
- API兼容性:具备与zlib兼容的API,支持双链接,还有基于zlib API的现代化原生API,方便移植。
- 代码特性:使用现代C99语法,代码布局简洁。
- 算法优化:采用基于英特尔zlib分支的Deflate中等和快速算法。
- CPU指令集支持:在可用时支持多种CPU指令集,包括Adler32、CRC32 - B、哈希表、Slide哈希、Compare256/258、Inflate块复制等实现,还支持IBM Z DFLTCC硬件加速的Deflate。
- 内存优化:对未对齐内存读写和大位缓冲区进行了改进。
- 功能集成:集成了Cloudflare和英特尔分支的改进。
- 构建系统支持:支持Configure、CMake和NMake构建系统。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
构建
CMake方式
bash
cmake .
cmake --build . --config Release
ctest --verbose -C Release
也可以使用cmake配置GUI工具ccmake:
bash
ccmake .
Configure方式
bash
./configure
make
make test
安装
不建议手动安装,因为可能会覆盖系统默认的zlib库,导致系统不可用。若仍需手动安装,建议使用/opt/
路径前缀。
CMake方式
bash
cmake --build . --target install
Configure方式
bash
make install
替代系统zlib(仅适用于Linux,zlib兼容模式)
若程序动态链接zlib,可通过LD_PRELOAD
环境变量临时使用zlib - ng:
bash
LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.11.zlib-ng /usr/bin/program
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】