rust(36)-Rust and WebAssembly(3)
線性內(nèi)存
WebAssembly有一個非常簡單的內(nèi)存模型。一個wasm模塊可以訪問單個“線性內(nèi)存”,它本質(zhì)上是一個平面字節(jié)數(shù)組。該內(nèi)存可以以頁面大小(64K)的倍數(shù)增長。它不能被縮小。
WebAssembly僅僅是為Web而設計的嗎?
盡管目前它在JavaScript和Web社區(qū)中受到了廣泛的關(guān)注,但wasm并沒有對其主機環(huán)境做任何假設。因此,我們有理由推測wasm將來會成為一種“可移植的可執(zhí)行文件”格式,在各種上下文中都可以使用。然而,到目前為止,wasm主要與JavaScript (JS)相關(guān),它有多種形式(包括Web和Node.js)。
Rust 和 WebAssembly 有兩大主要用例:
構(gòu)建完整應用 —— 整個 Web 應用都基于 Rust 開發(fā)!
構(gòu)建應用的組成部分 —— 在現(xiàn)存的 JavaScript 前端中使用 Rust。將使用 Rust 的 npm 包構(gòu)建工具 wasm-pack 來構(gòu)建一個 npm 包。這個包只包含 WebAssembly 和 JavaScript 代碼,以便包的用戶無需安裝 Rust 就能使用。他們甚至不需要知道這里包含 WebAssembly!
要構(gòu)建我們的包,我們需要一個額外工具 wasm-pack。它會幫助我們把我們的代碼編譯成 WebAssembly 并制造出正確的 npm 包。使用下面的命令可以下載并安裝它:
總結(jié)
以上是生活随笔為你收集整理的rust(36)-Rust and WebAssembly(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rust(34)-Rust and We
- 下一篇: 计算机主机和cpu的区别,服务器CPU和