C WASM

Open-source C projects categorized as WASM

WebAssembly (abbreviated WASM) is a binary instruction format for a stack-​based virtual machine. WebAssembly is an open standard that defines a portable binary-code format for executable programs, and a corresponding textual assembly language, as well as interfaces for facilitating interactions between such programs and their host environment.

Top 23 C WASM Projects

  • raylib

    A simple and easy-to-use library to enjoy videogames programming

    Project mention: Not sure how to link header file | reddit.com/r/cpp_questions | 2023-01-22

    Thank You. I have a .so, in fact I have 3 files a .so, .so.4.2.0, & .so.420. I installed using cmake, instructions here

  • wasm3

    🚀 A fast WebAssembly interpreter, and the most universal WASM runtime

    Project mention: Show HN: I wrote a WebAssembly Interpreter and Toolkit in C | news.ycombinator.com | 2023-01-09

    Can miniwasm share memory with the host? wasm3 doesn't allow this[1] and requires you to allocate VM memory and pass it to the host, but that has several downsides (some buffers come from external sources so this requires a memcpy; the VM memory location isn't stable so you can't store a pointer to it on the host; etc.).

    I'm really interested in a fast interpreter-only Wasm VM that can allow the host to share some of its memory with the VM.

    [1]: https://github.com/wasm3/wasm3/issues/114

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • wasm-micro-runtime

    WebAssembly Micro Runtime (WAMR)

    Project mention: WebAssembly Micro Runtime (WAMR) | news.ycombinator.com | 2023-01-04
  • txiki.js

    A tiny JavaScript runtime

    Project mention: How to compile serveTls for import into QuickJS? | reddit.com/r/Deno | 2023-01-08

    I've only dabbled with the shared libraries once, with the help of the owner of the lnked repository. I wound up solving the issue adjusting the code I was working on https://github.com/saghul/txiki.js/issues/294.

  • iPlug2

    C++ Audio Plug-in Framework for desktop, mobile and web

    Project mention: Ask HN: What are 100K dollar ideas but not million dollar ideas? | news.ycombinator.com | 2022-11-24
  • space-shooter.c

    A cross-platform, top-down 2D space shooter written in C using only platform libraries.

    Project mention: Good open source games written in C? | reddit.com/r/C_Programming | 2022-09-04
  • quickjs-emscripten

    Javascript/Typescript bindings for QuickJS, a modern Javascript interpreter written in C by Fabrice Bellard.

    Project mention: Hacker News top posts: Nov 20, 2022 | reddit.com/r/hackerdigest | 2022-11-20

    QuickJS Running in WebAssembly\ (17 comments)

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • edge-sql

    Cloudflare Workers providing a SQL API

  • wasm-git

    GIT for nodejs and the browser using https://libgit2.org compiled to WebAssembly with https://emscripten.org

    Project mention: Any open-source web-based git guis for committing/merging/etc git flow? | reddit.com/r/git | 2022-05-26
  • wac

    WebAssembly interpreter in C

  • binjgb

    Gameboy emulator implemented in C, that also runs in the browser

    Project mention: Smolnes: A NES Emulator In | news.ycombinator.com | 2022-10-28

    Big fan of this author's work.

    They have a Gameboy emulator written in C, which can be compiled to WASM and run in the browser.

    https://github.com/binji/binjgb

    I learned a lot from the code.

    Also I love this project with a bunch of demos in hand-written WebAssembly Text (WAT) format, which is like low-level Lisp that works only with raw memory, numbers, and minimal syntax.

    https://github.com/binji/raw-wasm

    Then I discovered the same author is quite active in the WebAssembly ecosystem, including specs and tooling. Fascinating stuff!

    https://github.com/WebAssembly/spec

    https://github.com/WebAssembly/wabt

  • w2c2

    Translates WebAssembly modules to C

    Project mention: Rust on macOS 9 | news.ycombinator.com | 2023-01-22

    There's not much data in the performance section of the front-page readme of the repo, but the one bullet point there seems promising:

    > Coremark 1.0: ~7% slower than native [0]

    [0] https://github.com/turbolent/w2c2#performance

  • SkyEmu

    Game Boy, Game Boy Color, and Game Boy Advance Emulator

    Project mention: Release of SkyEmu v2 | reddit.com/r/EmuDev | 2022-10-23

    I just added a Arm/Intel universal build to the release. You can download it here: https://github.com/skylersaleh/SkyEmu/releases/download/v2/SkyEmu-v2-macOS-universal.dmg

  • ruby.wasm

    ruby.wasm is a collection of WebAssembly ports of the CRuby.

    Project mention: A serverless online Ruby interpreter (WASM) | reddit.com/r/ruby | 2022-09-13

    The ruby code is run by webassembly module which in turn runs entirely on the browser. The output produced by the wasm file is then updated on the DOM. The webassembly feature is still on an early stage but yes, it is possible to run ruby on a static page completely on the browser. See here for more info.

  • cowasm

    CoWasm: Collaborative WebAssembly for Servers and Browsers. Built using Zig. Supports Python with extension modules, including numpy.

    Project mention: active now: Commits · sagemathinc/cowasm | reddit.com/r/browserPOSIX | 2022-12-04
  • ffmpeg.wasm-core

    Mirror of git://source.ffmpeg.org/ffmpeg.git

    Project mention: How do I get around 1MB worker limit? | reddit.com/r/CloudFlare | 2022-06-03

    You can see the build workflow here (multi-thread) and here (single thread) and lines 23-38 in each look to be the inclusion of the supported codecs. Modifying that list to only build support for the ones you plan on supporting might help you bring down the size substantially.

  • aWsm

    WebAssembly ahead-of-time compiler and runtime. Focuses on generating fast code, simplicity, and portability.

    Project mention: Web Assembly OS guidance | reddit.com/r/osdev | 2022-11-27

    Thanks, tonight I will look at the wasmi runtime and aWsm runtime.

  • vmrp

    mrp emulator, virtual machine, mrp模拟器

  • embedded-wasm-apps

    Run statically-compiled WebAssembly apps on any embedded platform

  • wasm-nginx-module

    Run Wasm in OpenResty/Nginx

    Project mention: Rewriting the Apache APISIX response-rewrite plugin in Rust | dev.to | 2022-10-05

    Status 12 comes from the proxy_wasm_types.h:

  • wasm-audio-decoders

    Browser and NodeJS Web Assembly audio decoder libraries that are highly optimized for size and performance.

    Project mention: Hey r/audioengineering, I made an app that makes it easier to get feedback on your mix or song idea | reddit.com/r/audioengineering | 2022-09-26

    I'm not writing anything myself. The decoder I'm using the C implementation (libopus) compiled to webassembly by this guy.

  • xcc

    Toy C compiler for x86-64/aarch64/wasm

  • snake-c-wasm

    Snake written in Pure C and compilable to WebAssembly

    Project mention: Is C only in terminal? | reddit.com/r/C_Programming | 2022-09-21

    I used this example to understand and play around with wasm: https://github.com/tsoding/snake-c-wasm

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-22.

C WASM related posts

Index

What are some of the best open-source WASM projects in C? This list will help you:

Project Stars
1 raylib 11,484
2 wasm3 5,786
3 wasm-micro-runtime 3,425
4 txiki.js 1,833
5 iPlug2 1,442
6 space-shooter.c 1,289
7 quickjs-emscripten 747
8 edge-sql 537
9 wasm-git 433
10 wac 432
11 binjgb 400
12 w2c2 381
13 SkyEmu 347
14 ruby.wasm 340
15 cowasm 327
16 ffmpeg.wasm-core 283
17 aWsm 212
18 vmrp 150
19 embedded-wasm-apps 116
20 wasm-nginx-module 110
21 wasm-audio-decoders 87
22 xcc 75
23 snake-c-wasm 70
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com