All Projects → WasmVM → Wasmvm

WasmVM / Wasmvm

Licence: bsd-3-clause
An unofficial standalone WebAssembly process virtual machine

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
Neo Vm
NEO Virtual Machine
Stars: ✭ 152 (-7.32%)
Mutual labels:  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
Kvm Vmi
KVM-based Virtual Machine Introspection
Stars: ✭ 153 (-6.71%)
Mutual labels:  virtual-machine
Fshistory
Play and Enjoy the History of Microsoft Flight Simulator
Stars: ✭ 163 (-0.61%)
Mutual labels:  webassembly
Seed
A Rust framework for creating web apps
Stars: ✭ 3,069 (+1771.34%)
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 的程序性虛擬機器

教學文件

English README

先備條件

一般建置

  • 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 

注意事項

  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 起始的檔案名稱

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

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

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].