WebAssembly ツアー 目次

テキストのロギング

WebAssemblyのプログラムから、テキストをロギングする簡単な例を見てみましょう。

次のような流れになります。

  1. プログラムのメモリから、utf-8のテキストをつくる
  2. そのテキストの長さを判断する
  3. そのテキストが格納されているスタート位置と長さをホストのブラウザ側に伝え、console.logを実行

これはJavaScript側の関数をどのように実装するかの例です。

wasm_log(start,len) {
  // 開始位置と長さから、テキストを抽出する
  const utf8dec = new TextDecoder("utf-8");
  let buffer = module.instance.exports.memory.buffer;
  let memory = new Uint8Array(buffer);
  let text = utf8dec.decode(memory.subarray(start,start+len));
  console.log(text);
}