Tour de WebAssembly Table des Matières

Contexte d'invocation dynamique

Lorsque nos fonctions invoquées dynamiquement sont appelées, celles-ci doivent avoir accès à la mémoire du module. Pour cela, nous pouvons créer une fonction ayant pour but de décoder les octets de cette mémoire et passer cette fonction de décodage à chacune des fonctions dynamiques à l'aide d'un objet contexte.

let log_handle = register_function("
  (context, msgStart, msgEnd) => {
    let msg = context.getUtf8FromMemory(msgStart,msgEnd);
    console.log(msg); 
  }");

let msg = "hello world";

js_invoke_with_2_params( log_handle,msg.as_ptr() as f64, 
  msg.len() as f64);

Nous donnons un exemple avec l'implémentation complète.