3 个版本
0.1.2 | 2023 年 8 月 14 日 |
---|---|
0.1.1 | 2023 年 8 月 14 日 |
0.1.0 | 2021 年 11 月 8 日 |
在 过程宏 中排名第 252
每月下载量 3,007
在 7 个 Crates 中使用 (其中 5 个直接使用)
17KB
298 行代码 (不含注释)
jni_fn
jni_fn
是一个用于 Rust 库的 JNI 兼容的函数签名生成器。
这个 Crate 是为与 jni
Crate 一起使用而设计的,该 Crate 提供了 JNI 兼容的类型绑定。虽然可以在不使用 jni_fn
的情况下使用 jni
,但这里定义的过程宏将使编写正确的函数签名变得更加容易。
如何使用
查看 jni
仓库以开始你的第一个 Rust JNI 绑定。
注意 jni
示例项目 中的函数签名,这些签名必须 100% 正确转录,以避免在 JVM 项目中发生运行时崩溃
#[no_mangle]
pub extern "system" fn Java_HelloWorld_hello(
// ...
相反,jni_fn
可以根据包名 (HelloWorld
) 和函数名 (hello
) 自动生成正确的函数签名
use jni_fn::jni_fn;
#[jni_fn("HelloWorld")]
pub fn hello(
// ...
jni_fn
在更复杂的示例中特别有用 - 你不希望手动解决这个问题!使用 jni_fn
,你只需要
#[jni_fn("org.signal.client.internal.Native")]
pub unsafe fn IdentityKeyPair_Deserialize(
// ...
访问 文档 以获取更多说明和示例。
依赖关系
~260–710KB
~17K 行代码 (额外估计)