WebAssembly 指南

《WebAssembly 指南》涵蓋了諸如高階概念、從不同語言編譯、Wasm 二進位制格式的文字表示以及如何執行 WebAssembly 等主題。

將新的 C/C++ 模組編譯為 WebAssembly

當您使用 C/C++ 等語言編寫了新的程式碼模組後,可以使用 Emscripten 等工具將其編譯為 WebAssembly。讓我們來看看它是如何工作的。

將現有 C 模組編譯為 WebAssembly

WebAssembly 的一個核心用例是利用現有的 C 庫生態系統,並允許開發者在 Web 上使用它們。

從 Rust 編譯到 WebAssembly

如果您有一些 Rust 程式碼,可以將其編譯為 WebAssembly (Wasm)。本教程將向您展示如何將 Rust 專案編譯為 WebAssembly,並在現有 Web 應用中使用它。

將 WebAssembly 文字格式轉換為二進位制

WebAssembly 具有一種基於 S 表示式的文字表示形式,這是一種旨在在文字編輯器、瀏覽器開發者工具等環境中顯示的中介形式。本文件將簡要介紹它的工作原理,以及如何使用可用工具將文字格式檔案轉換為 Wasm 格式。

匯出的 WebAssembly 函式

匯出的 WebAssembly 函式是 WebAssembly 函式在 JavaScript 中的表示方式。本文件將更詳細地描述它們。

載入並執行 WebAssembly 程式碼

要在 JavaScript 中使用 WebAssembly,您首先需要將模組載入到記憶體中,然後才能進行編譯/例項化。本文件提供了用於獲取 WebAssembly 位元組碼的各種機制的參考,以及如何編譯/例項化然後執行它。

理解 WebAssembly 文字格式

為了使 WebAssembly 能夠被人類閱讀和編輯,它提供了一種 Wasm 二進位制格式的文字表示。這是一種中介形式,旨在顯示在文字編輯器、瀏覽器開發者工具和其他類似環境中。本文件將從其原始語法方面解釋文字格式的工作原理,以及它與所代表的底層位元組碼以及在 JavaScript 中代表 Wasm 的包裝器物件的關係。

使用 WebAssembly JavaScript API

如果您已經 使用 Emscripten 等工具從其他語言編譯了模組,或者 自行載入並運行了程式碼,下一步就是學習如何使用 WebAssembly JavaScript API 的其他功能。本文件將向您傳授您需要了解的內容。

WebAssembly 概念

本文件解釋了 WebAssembly 工作原理背後的概念,包括其目標、它解決的問題以及它如何在 Web 瀏覽器JavaScript 引擎中執行。

WebAssembly 匯入的全域性字串常量

WebAssembly 匯入的全域性字串常量透過消除與傳統字串匯入相關的許多樣板程式碼,使在 Wasm 模組中處理 JavaScript 字串更加容易。

WebAssembly JavaScript 內建函式

WebAssembly JavaScript 內建函式是 JavaScript 操作的 Wasm 等效項,它們提供了一種在 Wasm 模組中使用 JavaScript 功能的方法,而無需匯入 JavaScript 粘合程式碼來在 JavaScript 和 WebAssembly 值以及呼叫約定之間提供橋樑。

另見