2个版本
0.1.1 | 2021年5月8日 |
---|---|
0.1.0 | 2020年10月30日 |
#377 in 压缩
用于 2 crates
26KB
532 行
lzham
基于底层lzham-syscrate的lzham编解码器的高级Rust绑定。
要构建此crate,您必须安装cmake
和C++编译器,因为lzham-syscrate会构建lzham库,并不会搜索预构建的库。
使用方法
将以下内容添加到您的Cargo.toml
[dependencies]
lzham = "0.1.1"
示例
use lzham::{compress, decompress};
let data = String::from("This is a test.");
let mut comp = Vec::new();
let status = compress(&mut data.as_bytes(), &mut comp);
assert!(status.is_success());
let mut decomp = Vec::new();
let status = decompress(&mut comp.as_slice(), &mut decomp, data.len());
assert!(status.is_success());
链接
lzham
支持静态和动态链接。要静态链接,您可以将环境变量LIBLZHAM_STATIC
或LZHAM_STATIC
设置为true,或者使用static
特性。
要动态链接,使用dynamic
特性。
如果您没有设置任何环境变量或使用任何特性,构建将根据操作系统或目标采用预期的默认库链接方法。对于Windows、macOS和musl的Linux,将是static
。对于没有musl的Linux,将是dynamic
。
请注意,环境变量优先于特性。在出现任何歧义的情况下,它将使用默认的链接方法。
特性
此crate有以下两个特性
static
:静态链接到库dynamic
:动态链接到库
这些设置适当的lzham-sys特性,该特性负责构建和链接库。
许可证
lzham
可在MIT许可证下使用。有关详细信息,请参阅LICENSE。
依赖
~1–1.3MB
~31K SLoC