#zlib #bindings #zlib-ng #native-bindings #api #low-level #size

sys libz-ng-sys

对zlib-ng(libz-ng)的低级绑定,zlib-ng是一个高性能的zlib库

10个稳定版本

1.1.16 2024年8月24日
1.1.15 2024年1月17日
1.1.12 2023年7月26日
1.1.9 2023年4月28日
1.1.8 2022年5月28日

42压缩 中排名 #42

Download history 29267/week @ 2024-05-04 29316/week @ 2024-05-11 31108/week @ 2024-05-18 22820/week @ 2024-05-25 70803/week @ 2024-06-01 26945/week @ 2024-06-08 22754/week @ 2024-06-15 21410/week @ 2024-06-22 25995/week @ 2024-06-29 19377/week @ 2024-07-06 21429/week @ 2024-07-13 23946/week @ 2024-07-20 23651/week @ 2024-07-27 23203/week @ 2024-08-03 25362/week @ 2024-08-10 20894/week @ 2024-08-17

96,877 每月下载量
用于 99 个crate(5个直接使用)

MIT/Apache

2.5MB
15K SLoC

C 12K SLoC // 0.2% comments C++ 2.5K SLoC // 0.1% comments Rust 426 SLoC // 0.1% comments Shell 251 SLoC // 0.2% comments VBScript 12 SLoC

libz-ng-sys

一个库,用于将zlib-ng(libz-ng)以原生方式链接到Rust程序,而不是在zlib兼容模式下。

zlib-ng是zlib的一个高性能实现。zlib-ng支持两种构建模式:zlib兼容模式,在其中它提供了与zlib相同的API,通常可以作为直接替换使用,以及原生模式,在其中它提供自己的API。原生API几乎与zlib兼容API相同,除了某些类型使用更正确的大小(而不是为了zlib兼容性所需的大小),所有函数都有一个zng_前缀。后者允许zlib和zlib-ng在同一个程序中并存。

此crate提供了对原生zlib-ng API的绑定。然而,为了简化移植,此crate导出与libz-sys相同的API(不包含zng_前缀),使得编写与libz-sys和libz-ng-sys兼容的Rust软件更容易。

高级API

此crate提供了对原始低级C API的绑定。要使用DEFLATE、zlib或gzip流进行高级别安全API,请参阅flate2flate2支持许多不同的实现。

开发

此crate是由与libz-sys相同的源构建的。在这些源文件中,Cargo.tomllibz-sys的清单,而Cargo-zng.tomllibz-ng-sys的清单。脚本./cargo-zng在具有Cargo-zng.toml的临时源副本上调用Cargo,以替换Cargo.toml;例如,使用./cargo-zng publish发布libz-ng-sys

最小支持Rust版本(MSRV)策略

这个crate使用与flate2 crate相同的MSRV策略:这个crate支持Rust的当前和上一个稳定版本。较旧版本的Rust可能也能工作,但我们不能保证它们会继续工作。

许可证

该项目受以下任一许可证的许可:

任选其一。

贡献

除非您明确说明,否则任何有意提交以包含在此crate中并由您定义的Apache-2.0许可证所定义的贡献,将根据上述条款双许可,不附加任何额外的条款或条件。

依赖项