You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tool for connecting programs or libraries written in Rust with other languages.
Foreign language api generator - flapigen. Former name rust_swig was changed to not confuse
with swig.
Currently implemented support for C++ and Java, but you can write support
for any language of your choice. For an instruction how to integrate flapigen with your
project look here.
Suppose you have the following Rust code:
structFoo{data:i32}implFoo{fnnew(val:i32) -> Foo{Foo{data: val}}fnf(&self,a:i32,b:i32) -> i32{self.data + a + b
}fnset_field(&mutself,v:i32){self.data = v;}}fnf2(a:i32) -> i32{
a *2}
and you want to write in Java something like this:
and that's all, as a result flapigen generates JNI wrappers for Rust functions
and Java code to call these JNI functions
or generates C compatible wrappers in case of C++ and
C++ code to call these C functions.
If you want the interface file (the file containing foreign_class! and so on)
to be automatically generated for you, checkout rifgen.