2个版本
0.1.1 | 2024年6月15日 |
---|---|
0.1.0 | 2024年6月14日 |
#262 在 操作系统
每月 35次下载
13KB
171 代码行
shared_lib
libloading包的包装器,它是对平台动态库加载原语的绑定,具有极大的内存安全性提升。shared_lib
旨在通过使用表示平台独立路径的自定义结构来改进系统路径处理。该库还返回自定义枚举变体,以更好地区分不同类型的错误。
安装
cargo add shared_lib
或将其添加到您的 Cargo.toml
文件中。
用法
use shared_lib::*;
use std::path::PathBuf;
fn main() {
let lib_path = LibPath::new(PathBuf::from("path/to/dir"), "library_name_no_ext".into());
unsafe {
let lib = SharedLib::new(lib_path).unwrap();
let func = lib.get_fn::<fn(usize, usize) -> usize>("foo").unwrap();
let result = func.run(1, 2);
println!("Result = {}", result);
}
}
此库在MIT许可证下可用
依赖
~0.4–6MB
~18K SLoC