#lz4 #wrapper #decompression #decoder #ffi #package-manager

lz4-builder

无依赖,为lodpm构建的极小lz4解压缩包装器

1 个稳定版本

1.0.1 2023年3月18日

#700 in Compression


用于 tiny-lz4-decoder-sys

MIT 许可证

315KB
5.5K SLoC

C 5.5K SLoC // 0.2% comments Rust 70 SLoC

专门为lod包管理器和Unix系统构建的极小lz4解码包装器包。如果需要完整的lz4工具箱,请考虑使用lz4

将lib添加到项目中

在你的Cargo.toml中

[dependencies]
tiny-lz4-decoder-sys = "1.0"

在你的二进制crate的build.rs中

use std::{env, path::Path};

fn main() {
    let home_path = env::var("HOME").expect("HOME environment variable is not set.");
    let lz4_so = Path::new(&home_path).join(".local/share/tiny_lz4_decoder_sys");

    println!("cargo:rustc-link-arg=-Wl,-rpath={}", lz4_so.display());
}

使用方法

简单使用

use std::fs::File;

use tiny_lz4_decoder_sys::Decoder;

fn main() {
    let input_file = File::open("compressed_lz4").unwrap();
    let mut decoder = Decoder::new(input_file).unwrap();
    let mut output_file = File::create("decompressed_output").unwrap();
    std::io::copy(&mut decoder, &mut output_file).unwrap();
}

许可证

本软件包受MIT许可证的保护。有关更多信息,请参阅LICENSE文件。

无运行时依赖