
- WebAssembly 教程
- WebAssembly - 首頁
- WebAssembly - 概述
- WebAssembly - 簡介
- WebAssembly - WASM
- WebAssembly - 安裝
- WebAssembly - 編譯到 WASM 的工具
- WebAssembly - 程式結構
- WebAssembly - Javascript
- WebAssembly - Javascript API
- WebAssembly - 在 Firefox 中除錯 WASM
- WebAssembly - “Hello World”
- WebAssembly - 模組
- WebAssembly - 驗證
- WebAssembly - 文字格式
- WebAssembly - 將 WAT 轉換為 WASM
- WebAssembly - 動態連結
- WebAssembly - 安全性
- WebAssembly - 使用 C 語言
- WebAssembly - 使用 C++
- WebAssembly - 使用 Rust
- WebAssembly - 使用 Go
- WebAssembly - 使用 Nodejs
- WebAssembly - 示例
- WebAssembly 有用資源
- WebAssembly - 快速指南
- WebAssembly - 有用資源
- WebAssembly - 討論
WebAssembly - 驗證
本章將討論 `webassembly.validate()` 函式,該函式將驗證 `.wasm` 輸出。編譯 C、C++ 或 Rust 程式碼後,即可獲得 `.wasm` 檔案。
您可以使用以下工具來獲取 wasm 程式碼。
Wasm Fiddler,網址為 https://wasmfiddle.com/
WebAssembly Explorer,網址為 https://mbebenita.github.io/WasmExplorer/.
語法
語法如下:
WebAssembly.validate(bufferSource);
引數
bufferSource − `bufferSource` 包含來自 C、C++ 或 Rust 程式的二進位制程式碼。它以 TypedArray 或 ArrayBuffer 的形式存在。
返回值
如果 `.wasm` 程式碼有效,則函式返回 `true`;否則返回 `false`。
讓我們嘗試一個示例。訪問 Wasm fiddler,網址為 https://wasmfiddle.com/,輸入您選擇的 C 程式碼並下載 wasm 程式碼。

紅色標記的塊是 C 程式碼。單擊中間的“構建”按鈕以執行程式碼。

單擊“Wasm”按鈕下載 `.wasm` 程式碼。將 `.wasm` 檔案儲存到您的本地,然後讓我們使用它進行驗證。
示例
例如:validate.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Testing WASM validate()</title> </head> <body> <script> fetch('program.wasm').then(res => res.arrayBuffer() ).then(function(testbytes) { var valid = WebAssembly.validate(testbytes); if (valid) { console.log("Valid Wasm Bytes!"); } else { console.log("Invalid Wasm Code!"); } }); </script> </body> </html>
我已經在我的 wamp 伺服器上託管了上述 `.html` 檔案以及下載的 `.wasm` 檔案。這是您在瀏覽器中測試時的輸出。
輸出
輸出如下:

廣告