Crate jni_mangle
source ·Expand description
Rust function mangler for JNI
The jni-mangle
crate provides proc macros for working with Rust functions that are called from Java through JNI.
The main purpose of this crate is to turn rust functions that might look like this:
#[no_mangle]
#[allow(non_snake_case)]
pub extern "system" fn Java_com_example_Example_addTwoNumbers(a: i32, b: i32) -> i32 {
a + b
}
Into something a little more readable:
use jni_mangle::mangle;
#[mangle(package="com.example", class="Example", method="addTwoNumbers")]
pub fn add_two_numbers(a: i32, b: i32) -> i32 {
a + b
}
Attribute Macros
- Mangle a Rust function to be callable from Java through JNI
- Warning: You probably don’t want to use this unless you know what you’re doing