第一個 WebAssembly 程式

Wabt 工具

WebAssembly (之後都簡稱 Wasm) 程式主要是儲存成位元格式 (Binary format),對人類來說比較不方便閱讀。

然而 Wasm 也有制定比較方便閱讀的文字格式 (Text format)

但是文字格式需要轉成位元格式,WasmVM才有辦法執行

WebAssembly官方有提供 Wabt 工具可以轉換格式,以下有幾種使用方式:

  • 直接在網站上使用 Wabt

網址: https://webassembly.github.io/wabt/demo/wat2wasm/arrow-up-right

  • 下載 Wabt 的離線版網站

在終端機執行

git clone https://github.com/WebAssembly/wabt

用瀏覽器打開資料夾裡的 demo/index.html

  • 下載並編譯、執行 wat2wasm 程式

從 GitHub 下載 Wabt

git clone https://github.com/WebAssembly/wabt

建立 build 資料夾並執行 CMake

cd wabt && mkdir build && cd build && cmake -DBUILD_TESTS=OFF ..

執行 Make

你會得到 wat2wasm 程式,在你用文字編輯器編輯完文字格式的檔案後,執行

這邊用 -v 是為了在教學中能方便查看位元檔內容,如果你已經不需要查看內容,可以不用打 -v

編寫 Wasm 程式

請把網頁版的左上角清空,輸入以下程式碼。 用 wat2wasm 的話請用文字編輯器編輯文字檔

成功的話會看到以下訊息

按 Download 下載檔案或使用 wat2wasm 產生檔案之後,用 WasmVM 執行

成功的話會看到以下訊息

如果看到以下訊息,表示之前編譯的時候系統呼叫功能關了,但是沒有用 Debug 模式

如果看到以下訊息,表示之前編譯的時候系統呼叫功能沒有關

發生以上兩種狀況,請先執行

make clean

然後重新執行 CMake 和 Make 編譯程式

Last updated