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