WebAssembly - Lavorare con Rust

Per ottenere il codice di compilazione RUST utilizzeremo lo strumento WebAssembly.studio.

Vai a WebAssembly.studio disponibile in Vai ahttps://webassembly.studio/ e ti mostrerà la schermata come mostrato di seguito -

Fare clic su Empty Rust Project. Una volta fatto, otterrai tre file nella cartella src / -

Apri il file main.rs e cambia il codice che preferisci.

Sto aggiungendo la seguente funzione che aggiungerà due numeri dati:

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

Il codice disponibile in main.rs è il seguente:

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

Sostituisci fn add_one con il tuo come mostrato di seguito -

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

In main.js, cambia il nome della funzione da add_one a 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);

Sostituisci instance.exports.add_one con 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);

Fare clic sul pulsante build disponibile nell'interfaccia utente webassembly.studio per creare il codice.

Una volta completata la compilazione, fare clic sul pulsante Esegui disponibile sull'interfaccia utente, per vedere l'output -

Otteniamo l'output come 200, poiché abbiamo passato instance.exports.add_ints (100,100).

Allo stesso modo, puoi scrivere un programma diverso per rust e compilarlo in webassembly.studio.