Tour de WebAssembly Table des Matières

Affichage de texte depuis WebAssembly

Explorons un exemple simple d'affichage de texte à partir d'un programme WebAssembly.

Nous devons:

  1. Créer du texte compatible utf-8 dans la mémoire de notre programme.
  2. Déterminer la longueur des octets de notre texte.
  3. Envoyer d'une manière ou d'une autre l'index de début du premier octet et la longueur en octets du texte au navigateur hôte afin qu'il puisse appeler console.log.

Voici un exemple de ce à quoi ressemblerait la réception de la fonction JavaScript:

wasm_log(start,len) {
  // Extrait le texte de l'emplacement mémoire.
  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);
}