WebAssembly - Utilisation de Rust

Pour obtenir le code de compilation RUST, nous utiliserons l'outil WebAssembly.studio.

Accédez à WebAssembly.studio qui est disponible sur Aller àhttps://webassembly.studio/ et il affichera votre écran comme indiqué ci-dessous -

Cliquez sur Projet de rouille vide. Une fois terminé, vous obtiendrez trois fichiers dans le dossier src / -

Ouvrez le fichier main.rs et modifiez le code de votre choix.

J'ajoute la fonction suivante qui ajoutera deux nombres donnés -

fn add_ints(lhs: i32, rhs: i32) -> i32 {
   lhs+rhs
}

Le code disponible dans main.rs est le suivant -

#[no_mangle]
pub extern "C" fn add_one(x: i32) -> i32 {
   x + 1
}

Remplacez le fn add_one par le vôtre comme indiqué ci-dessous -

#[no_mangle]
pub extern "C" fn add_ints(lhs: i32, rhs: i32) -> i32 {
   lhs+rhs
}

Dans main.js, changez le nom de la fonction de add_one en add_ints

fetch('../out/main.wasm').then(
   response =>
   response.arrayBuffer()
).then(bytes => WebAssembly.instantiate(bytes)).then(results => {
   instance = results.instance;
   document.getElementById("container").textContent = instance.exports.add_one(41);
}).catch(console.error);

Remplacez instance.exports.add_one par instance.exports.add_ints (100,100)

fetch('../out/main.wasm').then(
   response =>
   response.arrayBuffer()
).then(bytes => WebAssembly.instantiate(bytes)).then(results => {
   instance = results.instance;
   document.getElementById("container").textContent = instance.exports.add_ints(100,100)
}).catch(console.error);

Cliquez sur le bouton de construction disponible sur l'interface utilisateur webassembly.studio pour créer le code.

Une fois la construction terminée, cliquez sur le bouton Exécuter disponible sur l'interface utilisateur, pour voir la sortie -

Nous obtenons la sortie comme 200, lorsque nous avons passé instance.exports.add_ints (100,100).

De même, vous pouvez écrire un programme différent pour rust et le faire compiler dans webassembly.studio.