1 个不稳定版本
0.1.0 | 2020年4月2日 |
---|
#864 在 WebAssembly
被 2 crate 使用
3KB
wasi_binio_shared 为 wasi_binio_host 和 wasi_binio_wasm 提供
wasi_binio_wasm
是 wasm_binio 的宿主 crate。另一个 crate 是 wasi_binio_host
,它在宿主程序中使用。wasi_binio_host 创建了一个 call_stub,以便宿主程序可以调用 WebAssembly 函数,并使用复杂的数据结构作为参数和结果。wasi_binio_wasm 准备线性内存缓冲区和导出所需的 WebAssembly 函数,以便宿主程序可以调用。
截至目前,WebAssembly 函数只能接受 i32、i64、f32、f64 类型。如果您有一个如下的 WebAssembly 函数: do_compute(point1: &Point, point2: &Point)->Rect {...}
没有直接从宿主程序调用它的方法。通过 wasm_binio 的帮助,我们可以调用 call_stub 函数,并像这样发送参数和结果: