是否有可能像下面这样编写一个独立的Rust应用程序,将其编译成两个部分,一个是m,一个是本机,然后将一个wasm运行时(比如wasmtime)嵌入到最终的二进制文件中,然后整个部分就像一个应用程序一样工作吗?
WasmEdge有一个宏#[wasmedge_bindgen]标记一个WasmEdge,但是没有任何东西使主机函数在wasm运行时可以访问。
#[make_a_wasm_func]
fn f1(i: i32)->i32{
i+1
}
#[make_a_host_func_that_can_be_called_from_wasm]
fn f2(i: i32)->i32{
f1(i)+2
}
#[make_a_wasm_func]
fn f3(i:i32)-> i32{
f2(i)+3
}
fn main(){
let r=f3(1);
println!("{}",r);
}
The expected output is 7.发布于 2022-08-29 16:52:41
我看到一些非常相似的东西,我的理解是“主机”函数需要作为“导入对象”导入到"wasm“部分。我知道这可能不是你想要的答案,但我想我可能会增加一些背景。
https://stackoverflow.com/questions/73203357
复制相似问题