项目简介
本项目是基于C语言的zlib数据压缩库的增强版本,名为zlib-ng。它是为下一代系统打造的数据压缩库,在保留zlib兼容API的基础上,进行多方面优化与改进,旨在提高压缩和解压缩效率,验证库的健壮性和正确性,为数据压缩和解压缩任务提供有效支持。
项目的主要特性和功能
- API兼容性:提供与zlib兼容的API,支持双链接,有基于zlib API的现代化原生API,方便代码移植。
- 代码优化:采用现代C99语法和简洁代码布局,去除大量旧编译器兼容性代码,降低维护成本。
- 算法优化:采用基于Intel zlib分支的Deflate中等和快速算法,提升压缩性能。
- CPU指令集支持:支持多种CPU指令集,加速Adler32、CRC32 - B、哈希表、滑动哈希等操作。
- 硬件加速:支持使用IBM Z DFLTCC进行硬件加速的Deflate操作。
- 内存操作优化:改进非对齐内存读写和大位缓冲区操作。
- 多构建系统支持:支持Configure、CMake和NMake构建系统,包含全面的CMake单元测试。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装C编译器和zlib库。
构建
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兼容模式编译时,可通过LD_PRELOAD
环境变量临时使用zlib - ng。
bash
LD_PRELOAD=/opt/zlib-ng/libz.so.1.2.11.zlib-ng /usr/bin/program
CMake安装
bash
cmake --build . --target install
Configure安装
bash
make install
运行工具
编译各个工具,如用gcc -o makecrct makecrct.c -lz
编译CRC校验表生成工具。运行工具,如用./makecrct
运行CRC校验表生成工具。单元测试程序和模糊测试程序需根据具体情况配置和运行。
注意事项
- 工具和程序详细使用方法和配置需参考具体文档或示例。
- 编译和运行时需根据具体系统和环境适当调整。
- 部分工具可能依赖特定编译器选项或库,要确保正确配置。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】