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
96,877 每月下载量
用于 99 个crate(5个直接使用)
2.5MB
15K 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,请参阅flate2
。 flate2
支持许多不同的实现。
开发
此crate是由与libz-sys
相同的源构建的。在这些源文件中,Cargo.toml
是libz-sys
的清单,而Cargo-zng.toml
是libz-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可能也能工作,但我们不能保证它们会继续工作。
许可证
该项目受以下任一许可证的许可:
- Apache License 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则任何有意提交以包含在此crate中并由您定义的Apache-2.0许可证所定义的贡献,将根据上述条款双许可,不附加任何额外的条款或条件。