1 个不稳定版本
0.1.0 | 2023年6月8日 |
---|
#271 in FFI
4KB
52 行
rifgen
将用 Rust 编写的库转换为接口文件的程序。与 flapigen 一起工作。有关如何集成到项目的说明,请点击此处。这个包最初是 rust_interface_file_generator
假设您有以下 Rust 代码
struct Foo {
data: i32
}
impl Foo {
fn new(val: i32) -> Foo {
Foo { data: val }
}
fn f(&self, a: i32, b: i32) -> i32 {
self.data + a + b
}
fn set_field(&mut self, v: i32) {
self.data = v;
}
}
使用 flapigen,您需要编写一个类似于以下接口文件
foreign_class!(class Foo {
self_type Foo;
constructor Foo::new(_: i32) -> Foo;
fn Foo::set_field(&mut self, _: i32);
fn Foo::f(&self, _: i32, _: i32) -> i32;
});
以便在 Java 中编写类似以下内容
Foo foo=new Foo(5);
int res=foo.f(1,2);
assert res==8;
或者在 C++ 中编写类似以下内容
Foo foo(5);
int res = foo.f(1, 2);
assert(res == 8);
此模块生成接口文件,因此您可以更多地关注您的代码
其他功能
✅ 快速且易于使用
✅ 指定结果的代码风格,例如 CamelCase 或 snake_case
✅ 支持 struct、enum、trait
✅ 您无需担心接口中代码的“顺序”
用户指南
联系我
如果您想联系我以帮助任何项目,您可以在 Upwork 上找到我
依赖项
~2MB
~43K SLoC