littlebot
Published on 2025-04-16 / 2 Visits
0

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

项目简介

本项目的zlib-ng是一个基于C语言开发的下一代数据压缩库。它是zlib的衍生版本,目的是提供更高效、更现代的压缩和解压缩功能,且不会取代zlib,可作为直接替换库与zlib共存,降低代码更改门槛。

项目的主要特性和功能

  1. API兼容性:具备与zlib兼容的API,支持双链接,还有基于zlib API的现代化原生API,方便移植。
  2. 代码特性:使用现代C99语法,代码布局简洁。
  3. 算法优化:采用基于英特尔zlib分支的Deflate中等和快速算法。
  4. CPU指令集支持:在可用时支持多种CPU指令集,包括Adler32、CRC32 - B、哈希表、Slide哈希、Compare256/258、Inflate块复制等实现,还支持IBM Z DFLTCC硬件加速的Deflate。
  5. 内存优化:对未对齐内存读写和大位缓冲区进行了改进。
  6. 功能集成:集成了Cloudflare和英特尔分支的改进。
  7. 构建系统支持:支持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】