#wasi #sandbox #abi

wasmer-wasi-near

Wasmer WebAssembly运行时的WASI实现库

1个稳定版本

1.0.1 2021年2月5日

#1131WebAssembly


2 crates 使用

MIT 许可证

470KB
9K SLoC

wasmer-wasi 构建状态 加入Wasmer Slack MIT License crates.io

此crate提供从Wasmer使用WASI所需的导入。

使用方法

use wasmer::{Store, Module, Instance};
use wasmer_wasi::WasiState;

let store = Store::default();
let module = Module::from_file(&store, "my_wasi_module.wasm")?;

// Create the WasiEnv
let wasi_env = WasiState::new("command name")
    .args(&["world"])
    .env("KEY", "VALUE")
    .finalize()?;

let import_object = wasi_env.import_object(&module)?;
let instance = Instance::new(&module, &import_object)?;

wasi_env.set_memory(instance.exports.get_memory("memory")?.clone());

let start = instance.exports.get_function("_start")?;
start.call(&[])?;

注意:您可以在此处找到使用WASI的完整示例

依赖关系

~8–10MB
~194K SLoC