WebAssemblyのプログラムから、テキストをロギングする簡単な例を見てみましょう。
次のような流れになります。
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);
}