WasmVM / Wasmvm
Licence: bsd-3-clause
An unofficial standalone WebAssembly process virtual machine
Stars: ✭ 164
Projects that are alternatives of or similar to Wasmvm
cabasa
Haxe Framework for WebAssembly
Stars: ✭ 30 (-81.71%)
Mutual labels: virtual-machine, webassembly
Lam
🚀 a lightweight, universal actor-model vm for writing scalable and reliable applications that run natively and on WebAssembly
Stars: ✭ 176 (+7.32%)
Mutual labels: webassembly, virtual-machine
Vmir
Virtual Machine for Intermediate Representation
Stars: ✭ 514 (+213.41%)
Mutual labels: webassembly, virtual-machine
Customasm
💻 An assembler for custom, user-defined instruction sets! https://hlorenzi.github.io/customasm/web/
Stars: ✭ 211 (+28.66%)
Mutual labels: webassembly, virtual-machine
Wasm3
🚀 The fastest WebAssembly interpreter, and the most universal runtime
Stars: ✭ 4,375 (+2567.68%)
Mutual labels: webassembly, virtual-machine
Awesome Wasm Runtimes
A list of webassemby runtimes
Stars: ✭ 490 (+198.78%)
Mutual labels: webassembly, virtual-machine
Ring
Innovative and practical general-purpose multi-paradigm language
Stars: ✭ 716 (+336.59%)
Mutual labels: webassembly, virtual-machine
Simplesvmhook
SimpleSvmHook is a research purpose hypervisor for Windows on AMD processors.
Stars: ✭ 159 (-3.05%)
Mutual labels: virtual-machine
Fetch Stream Audio
Low Latency web audio playback examples for decoding audio streams in chunks with Fetch & Streams APIs
Stars: ✭ 153 (-6.71%)
Mutual labels: webassembly
Simplesvm
A minimalistic educational hypervisor for Windows on AMD processors.
Stars: ✭ 152 (-7.32%)
Mutual labels: virtual-machine
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (-7.32%)
Mutual labels: webassembly
Halite Iii
Season 3 of @twosigma's artificial intelligence programming challenge
Stars: ✭ 159 (-3.05%)
Mutual labels: webassembly
Fshistory
Play and Enjoy the History of Microsoft Flight Simulator
Stars: ✭ 163 (-0.61%)
Mutual labels: webassembly
Logging
Microsoft Extension Logging implementation for Blazor
Stars: ✭ 165 (+0.61%)
Mutual labels: webassembly
Opus Media Recorder
MediaRecorder polyfill for Opus recording using WebAssembly
Stars: ✭ 159 (-3.05%)
Mutual labels: webassembly
Crosswindow
💻📱 A cross platform system abstraction library written in C++ for managing windows and performing OS tasks.
Stars: ✭ 155 (-5.49%)
Mutual labels: webassembly
Blazor Samples
Explore and learn Syncfusion Blazor components using large collection of demos, example applications and tutorial samples
Stars: ✭ 156 (-4.88%)
Mutual labels: webassembly
WasmVM
可以獨立執行 WebAssembly 的程序性虛擬機器
先備條件
一般建置
-
CMake >= 2.6
-
pthread
-
支援 C11 及標準函式庫的 C 編譯器
開發者建置
VSCode 搭配 Docker
請參考 使用 VSCode 搭配 Docker 開發 WasmVM
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
注意事項
-
系統呼叫目前只支援 Linux 作業系統。 如果沒有使用到系統呼叫,可以在 CMake 的
USE_SYSCALL
設定中停用系統呼叫, 讓非 Linux 作業系統也能執行 -
在文件方面,本專案以 台灣正體中文 為主要使用語言,英文為次要使用語言,其他語言 (例如: 簡體中文)僅能做為參考或翻譯使用。
-
開發上需要注意,透過 AStyle 來做原始程式碼的格式規範(依照
K&R style
)。運行指令:astyle --style=kr --indent=spaces=4 --indent-switches --suffix=none --recursive *.c *.h *.hpp
來對程式碼做格式編排
編譯
- 執行 CMake (正常模式,不會編譯 test 資料夾)
mkdir build && cd build && cmake ..
- 執行 CMake (開發模式)
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug ..
- 執行 Make
make -j4
執行
-
準備好以
.wasm
為副檔名的 WebAssembly 位元檔你可以使用 wabt 或 wat2wasm online 將文字檔轉換成位元檔
-
執行 Run
./wasmvm 起始的檔案名稱
其他需要的模組檔案會從和起始檔案相同的資料夾開始尋找
如果你希望載入更多模組,可以直接連接在後面,以空白分隔
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].