WebAssembly - Rust ile Çalışma
RUST derleme kodunu almak için WebAssembly.studio aracını kullanacağız.
Git adresinde bulunan WebAssembly.studio sayfasına gidin.https://webassembly.studio/ ve aşağıda gösterildiği gibi ekranı gösterecektir -
Boş Pas Projesi'ne tıklayın. Tamamlandığında src / klasöründe üç dosya alacaksınız -
Main.rs dosyasını açın ve istediğiniz kodu değiştirin.
Verilen iki sayıyı toplayacak aşağıdaki işlevi ekliyorum -
fn add_ints(lhs: i32, rhs: i32) -> i32 {
lhs+rhs
}
Main.rs'de bulunan kod aşağıdaki gibidir -
#[no_mangle]
pub extern "C" fn add_one(x: i32) -> i32 {
x + 1
}
Fn add_one 'yi aşağıda gösterildiği gibi sizinkiyle değiştirin -
#[no_mangle]
pub extern "C" fn add_ints(lhs: i32, rhs: i32) -> i32 {
lhs+rhs
}
Main.js'de, işlev adını add_one'dan add_ints'e değiştirin
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);
İnstance.exports.add_one yerine instance.exports.add_ints (100,100) yazın
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);
Kodu oluşturmak için webassembly.studio UI üzerinde bulunan inşa düğmesine tıklayın.
Derleme tamamlandığında, çıktıyı görmek için UI'de bulunan Çalıştır düğmesine tıklayın -
İnstance.exports.add_ints (100,100) değerini geçerken çıktıyı 200 olarak alıyoruz.
Benzer şekilde, pas için farklı bir program yazabilir ve webassembly.studio'da derleyebilirsiniz.