项目简介
zlib-ng是针对下一代系统优化的zlib数据压缩库。该项目借助现代化的C11语法、优化的算法和硬件加速功能,提升了zlib库的性能与可维护性。它不仅兼容zlib的API,还引入了来自Intel和Cloudflare的优化,支持SSE2、AVX2、AVX512、Neon等多种CPU指令集,适用于多种操作系统和硬件架构。
项目的主要特性和功能
- 支持与zlib的双重链接,保障现有代码无缝迁移。
- 拥有基于zlib API的现代化原生API,方便移植与开发。
- 支持SSE2、AVX2、AVX512、Neon等多种CPU指令集,提高压缩和解压缩性能。
- 引入Intel和Cloudflare的优化算法,提升压缩效率。
- 支持Windows、macOS、Linux等多种操作系统,通过qemu模拟器支持ARM、AARCH64、PPC等架构。
- 支持CMake、Configure和NMake等多种构建系统,便于不同环境下的编译和测试。
- 具备CMake单元测试、代码覆盖率报告、模糊测试等,确保代码的健壮性和稳定性。
安装使用步骤
假设用户已经下载了本项目的源码文件,以下是安装和使用步骤:
1. 复制项目
进入项目目录:
bash
cd zlib-ng
2. 使用CMake构建
bash
cmake .
cmake --build . --config Release
ctest --verbose -C Release
3. 使用Configure构建
bash
./configure
make
make test
4. 安装
建议使用 /opt/
路径前缀以避免覆盖系统默认的zlib库:
bash
cmake --build . --target install
或者使用Configure脚本安装:
bash
make install
5. 使用Vcpkg安装
bash
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install zlib-ng
6. 使用LD_PRELOAD临时替换zlib
在Linux系统中,可通过 LD_PRELOAD
环境变量临时替换系统默认的zlib库:
bash
LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.13.zlib-ng /usr/bin/program
注意事项
- 系统兼容性方面,zlib-ng虽支持多种操作系统和硬件架构,但某些旧系统可能需额外配置。
- 启用硬件加速功能可显著提升性能,但要确保目标硬件支持相应指令集。
- 建议部署前进行全面测试,确保代码的稳定性和兼容性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】