Ich möchte Rust Code aus Java/Android anrufen, und ich habe drei Varianten, so zu tun gefunden:Wie automatisieren Java-Bindungen für Rust-Code?
JNI sieht gut aus und leistungsstark Genug, aber Sie müssen zu viel Code von Hand schreiben.
JNA, wenn nicht in Betracht gezogen, dass es crashes on my machine erfordert von Hand Rust struct Datentypbeschreibung in Java schreiben, das gleiche Problem mit JNR FFI. So
Ich frage mich, wie schwierig JNI Code für traits
und struct
mit Makros oder einem Compiler-Plugin generieren sein wird? Diese Compiler sollen Züge Implementierungen für konkrete Struktur entsprechen, und auch
#[JNI]
struct Foo {
a: i32,
}
trait Boo {
fn f(&self, b: f64) -> f64;
}
#[JNI]
impl Boo for Foo {
fn f(&self, b: f64) -> f64 {
0f64
}
}
struct und Java-Klassen für Struktur und Java-Klassen mit native
Funktionen erstellen, und erzeugen pub
no_mangle
Funktionen, die Wickeleigenschaften Funktionen.
Swig kann mit Rost umgehen? Ich meine ausdrücklich, nicht genate c/C++, die ich an den Rostcode kleben muss. – fghj
Plus-Dokumentation von jnanerator Punkt über c/C++, Ziel-c, aber nicht Rost, ist es wirklich Unterstützung Rost? – fghj