Deno v1.1.2でWebAssembly System Interface (WASI)が使えるようになったので試す
3459 ワード
Deno v1.1.2で実験的にWebAssembly System Interface (WASI)が使えるようになった
そこでとりあえず適当な.wasmファイルをstd/wasiを介して実行してみる
Rustで書かれた次のようなWebAssemblyコードがあったとする
main.rs
fn main() {
println!("hello")
}
rustup target add wasm32-wasi
rustc --target wasm32-wasi main.rs # main.wasm がつくられる
つくられた .wasm ファイルを読み込み、 _start
エントリーポイントを介して実行する
main.ts
import WASI from "https://deno.land/std/wasi/snapshot_preview1.ts";
const wasi = new WASI({});
const binary = await Deno.readFile("main.wasm");
const module = await WebAssembly.compile(binary);
const instance = await WebAssembly.instantiate(module, {
wasi_snapshot_preview1: wasi.exports,
});
wasi.memory = instance.exports.memory;
instance.exports._start();
deno run --allow-read main.ts # => hello
実行できた
詳細とサポート状況に関しては std/wasi を参照してほしい
Author And Source
この問題について(Deno v1.1.2でWebAssembly System Interface (WASI)が使えるようになったので試す), 我々は、より多くの情報をここで見つけました https://qiita.com/kou029w/items/e3fe5524c1c10061d131著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .