首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将wasm运行时嵌入到独立的Rust应用程序中,并允许wasm和主机函数相互调用。

将wasm运行时嵌入到独立的Rust应用程序中,并允许wasm和主机函数相互调用。
EN

Stack Overflow用户
提问于 2022-08-02 07:12:21
回答 1查看 90关注 0票数 0

是否有可能像下面这样编写一个独立的Rust应用程序,将其编译成两个部分,一个是m,一个是本机,然后将一个wasm运行时(比如wasmtime)嵌入到最终的二进制文件中,然后整个部分就像一个应用程序一样工作吗?

WasmEdge有一个宏#[wasmedge_bindgen]标记一个WasmEdge,但是没有任何东西使主机函数在wasm运行时可以访问。

代码语言:javascript
复制
#[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.
EN

回答 1

Stack Overflow用户

发布于 2022-08-29 16:52:41

我看到一些非常相似的东西,我的理解是“主机”函数需要作为“导入对象”导入到"wasm“部分。我知道这可能不是你想要的答案,但我想我可能会增加一些背景。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73203357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档