littlebot
Published on 2025-04-17 / 1 Visits
0

【源码】基于C语言的下一代数据压缩库

项目简介

zlib-ng 是为下一代系统打造的数据压缩库,作为 zlib 的增强替代方案,在保持与 zlib 兼容 API 的同时,引入现代 C11 语法、CPU 指令集优化等特性,提升了性能和可维护性。

项目的主要特性和功能

  1. 兼容与易用:提供与 zlib 兼容的 API,支持双链接,还有基于 zlib API 的现代化原生 API,便于代码移植。
  2. 现代代码风格:采用现代 C11 语法,代码布局简洁。
  3. 算法优化:拥有基于 Intel zlib 分支的 Deflate 中等和快速算法。
  4. CPU 指令集支持:支持 SSSE3、AVX2、Neon、VSX、PCLMULQDQ、ACLE 等多种 CPU 指令集,用于 Adler32、CRC32 - B 等计算和哈希表、滑动哈希实现,以及块复制等操作,还支持 IBM Z 向量指令和 DFLTCC 硬件加速的 Deflate。
  5. 内存与性能改进:改进了未对齐内存读写和大位缓冲区。
  6. 构建与测试支持:支持 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】