Turul WebAssembly Cuprins

Înregistrarea textului

Haideți să explorăm un exemplu simplu de înregistrare a unui text dintr-un program WebAssembly.

Este necesar:

  1. Să creăm un text compatibil cu UTF-8 în memoria programului nostru.
  2. Să determinăm lungimea octeților textului nostru.
  3. Să găsim o modalitate de a transmite indicele de început al primului octet și lungimea în octeți a textului către browser-ul gazdei pentru a putea apela console.log.

Iată un exemplu de cum ar arăta acea funcție JavaScript de primire:

wasm_log(start,len) {
  // extrage textul din memorie și lungimea
  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);
}