Skip to content
An unofficial standalone WebAssembly process virtual machine
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake 讓 CMake 在找到 SkyPat 時不重編譯 SkyPat (#138) Nov 23, 2018
docker/develop Dockerfile & Travis CI Nov 1, 2018
docs 實作 Loader &更新架構 Nov 10, 2018
scripts Travis CI 加上 Coding style 檢查 (#112) Nov 11, 2018
src 拿掉 Core 中不必要的檢查 May 24, 2019
test 拿掉 Core 中不必要的檢查 May 24, 2019
.gitignore 驗證記憶體相關指令, Expression, Function, Module (#175) Jan 26, 2019
.travis.yml ctest 加上 -V 以顯示錯誤 May 17, 2019
CMakeLists.txt Core run 測試 May 17, 2019
CODE_OF_CONDUCT.md Preparing for v0.2 Jul 16, 2017
CONTRIBUTING.md 更新 CONTRIBUTING Nov 10, 2018
LICENSE
README.md Loader 的單元測試 (#120) Nov 15, 2018
README_en.md Update README Nov 10, 2018

README.md

WasmVM

可以獨立執行 WebAssembly 的程序性虛擬機器

教學文件

English README

先備條件

一般建置

  • CMake >= 2.6

  • pthread

  • 支援 C++11 及標準函式庫的 C++ 編譯器

開發者建置

Ubuntu/Debian

$ sudo apt-get update
$ sudo apt-get install wget automake autoconf libtool build-essential cppcheck astyle colordiff

Fedora/CentOS

$ sudo yum install wget automake autoconf libtool make automake gcc gcc-c++
$ sudo yum install kernel-devel 

注意事項

  1. 系統呼叫目前只支援 Linux 作業系統。 如果沒有使用到系統呼叫,可以在 CMake 的 USE_SYSCALL 設定中停用系統呼叫, 讓非 Linux 作業系統也能執行

  2. 在文件方面,本專案以 台灣正體中文 為主要使用語言,英文為次要使用語言,其他語言 (例如: 簡體中文)僅能做為參考或翻譯使用。

  3. 開發上需要注意,透過 AStyle 來做原始程式碼的格式規範(依照 K&R style)。運行指令: astyle --style=kr --indent=spaces=4 --indent-switches --suffix=none --recursive *.c *.h *.hpp 來對程式碼做格式編排

編譯

  1. 執行 CMake (正常模式,不會編譯 test 資料夾)
mkdir build && cd build && cmake ..
  • 執行 CMake (開發模式)
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug ..
  1. 執行 Make
make -j4

 

執行

目前尚未完成

  1. 準備好以.wasm為副檔名的 WebAssembly 位元檔

    你可以使用 wabtwat2wasm online 將文字檔轉換成位元檔

  2. 執行 Run

./WasmVM 起始的檔案名稱

其他需要的模組檔案會從和起始檔案相同的資料夾開始尋找

如果你希望載入更多模組,可以直接連接在後面,以空白分隔

You can’t perform that action at this time.