7个版本
0.1.6 | 2023年12月8日 |
---|---|
0.1.5 | 2022年12月9日 |
0.1.4 | 2022年2月7日 |
0.1.3 | 2022年1月21日 |
0.1.0 | 2020年1月14日 |
在操作系统类别中排名#136
每月下载量879次
在10个crate(6个直接)中使用
27KB
131 行
minidl
极简的跨平台库,用于加载符号。
- 无依赖(最小构建时间)
- 无宏(最小构建时间)
- 无安全(任何ABI不匹配都会是不安全的)
快速开始
use minidl::*;
use std::os::raw::*;
struct Example {
OutputDebugStringA: unsafe extern "system" fn (_: *const c_char),
Invalid_Optional: Option<unsafe extern "system" fn (_: *const c_char)>,
}
impl Example {
pub fn new() -> Result<Self> {
let lib = Library::load("kernel32.dll")?;
unsafe{Ok(Self{
OutputDebugStringA: lib.sym("OutputDebugStringA\0")?,
Invalid_Optional: lib.sym_opt("Invalid_Optional\0"),
})}
}
}
许可协议
许可协议为以下之一:
- Apache License,版本2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确声明,否则任何有意提交以包含在你通过Apache-2.0许可定义的工作中的贡献,都应按上述方式双许可,不附加任何额外的条款或条件。