#wasi #lucet #wasi-common

wasi-common-lucet

为Lucet提供的wasi-common包装器

13个不稳定版本 (3个破坏性更新)

0.4.2 2020年2月6日
0.4.1 2020年1月24日
0.3.0 2019年11月1日
0.2.0 2019年10月31日
0.1.4 2019年9月5日

#1328WebAssembly

每月30次下载

ISC许可证

21KB
592

Released API docs

为Lucet提供的wasi-common包装器

一个crate,用于在由Lucet运行的WebAssembly模块中使用参考WASI实现

  • 调用一次wasi_common_lucet::export_wasi_funcs(),以导出符号
  • 使用WasiCtx::new()创建一个新实例。注意,函数签名与lucet-wasi略有不同。
  • 使用insert_embed_ctx()将其注册到Lucet实例中。
use wasi_common_lucet::WasiCtx;

fn doit() -> Result <(), Error> {
    wasi_common_lucet::export_wasi_funcs();
    // ...
    let mut lucet_instance_handle = lucet_dylib.instantiate(region)?;
    let wasi_ctx: WasiCtx = WasiCtx::new(["app"].iter())?;
    lucet_instance_handle.insert_embed_ctx(wasi_ctx);
    // ...
}

依赖项

~12–21MB
~303K SLoC