Um tour por WebAssembly Índice

Logando Texto

Vamos explorar um exemplo simples de logar um texto de um programa WebAssembly.

Nós devemos:

  1. Criar um texto compatível com utf-8 na memória do nosso programa.
  2. Determinar o comprimento em bytes do nosso texto.
  3. De alguma forma, enviar o índice do byte inicial e o comprimento em bytes desses dados do texto para o navegador host, e então chamar o console.log.

Aqui está um exemplo de como seria essa função de recebimento em JavaScript:

JavaScript wasm_log(start,len) { // extrai o texto de um lugar da memória e seu comprimento 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); }