WebAssembly ツアー 目次

動的実行のコンテキスト

我々の動的実行関数が呼ばれるとき、WebAssemblyモジュールのメモリ領域にアクセスできる必要があります。 そのためのコンテキストのオブジェクトを用意し、そこに重要なリソースを配置します。 こうすることで、関数が仕事をすることができるようになります。

let log_handle = register_function("
  (context, msgStart, msgEnd) => {
    let msg = context.getUtf8FromMemory(msgStart, msgEnd);
    console.log(msg);
  }");


let msg = "hello world";

js_invoke_with_2_params(
  log_handle,
  msg.as_ptr() as f64,
  msg.len() as f64
);

完全な実装は、実際のコード例を見てください。