Vamos explorar a ideia oposta. Imagine que queremos passar um texto para um programa WebAssembly.
Nós devemos:
Aqui está um exemplo de como é essa inicialização:
JavaScript // Transforma "Ferris" em bytes const utf8enc = new TextEncoder("utf-8"); let text = "Ferris"; let text_bytes = utf8enc.encode(text);
// Aloca espaço suficiente para o texto let len = text_bytes.length; let start = module.instance.exports.wasm_malloc(len);
// Coloca o texto na memória do programa WebAssembly let buffer = module.instance.exports.memory.buffer; let memory = new Uint8Array(buffer); memory.set(text_bytes, start);
// Executa o programa module.instance.exports.main(start,len);