项目简介
本项目是下一代系统使用的zlib数据压缩库zlib-ng。它并非要取代原始的zlib,而是作为其可直接替换的版本,以更低的代码变更门槛与之共存。该库解决了原始zlib在进一步开发和维护方面的复杂问题,集成了众多优化改进,广泛适用于需要数据压缩的各类软件和应用程序。
项目的主要特性和功能
- API兼容:提供与zlib兼容的API,支持双链接,同时有基于zlib API的现代化原生API,便于移植。
- 代码优化:采用现代C11语法和简洁的代码布局,去除大量旧编译器的工作区代码,提升可维护性。
- 算法优化:基于Intel的zlib分支实现了Deflate中等和快速算法。
- 硬件加速:支持多种CPU指令集,如SSSE3、AVX2、Neon、VSX等,实现Adler32、CRC32等算法的硬件加速;支持IBM Z的硬件加速压缩。
- 内存优化:改进了非对齐内存读写和大位缓冲区操作。
- 构建支持:支持Configure、CMake和NMake构建系统,有全面的CMake单元测试。
- 质量保障:具备代码消毒、模糊测试和代码覆盖率检测。
安装使用步骤
构建
Cmake方式
bash
cmake .
cmake --build . --config Release
ctest --verbose -C Release
也可以使用cmake配置GUI工具ccmake:
bash
ccmake .
Configure方式
bash
./configure
make
make test
安装
注意:不建议手动安装,因为可能会覆盖系统默认的zlib库,导致系统不稳定。若需手动安装,建议使用/opt/
路径前缀。对于Linux发行版,若以zlib兼容模式编译zlib-ng,可通过_LD_PRELOAD_
环境变量临时使用zlib-ng。
Cmake安装
bash
cmake --build . --target install
Configure安装
bash
make install
使用
安装完成后,在自己的项目中包含相应的头文件,即可使用zlib-ng库提供的函数和工具。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】