wasm2cil

A "compiler" that can take a WebAssembly/WASI module and convert it to a .NET assembly

  • Owner: ericsink/wasm2cil
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

wasm2cil

This is a .NET compiler for WebAssembly modules, including
support for WASI.

Specifically, it can take a WebAssembly module and
translate it into a .NET assembly on disk.

The resulting DLL is not interpreted -- it contains
the same functions as the WebAssembly module, translated
from Wasm instructions to CIL instructions.

This is designed to be used with Clang 8 and
wasi-sysroot. In that sense, this provides a way
to compile C/C++ for .NET, using Wasm as a halfway
point. Like an alternative to pinvoke.

(Rust should hopefully work too, but I haven't tried that yet.)

All of this is very much a work in progress.

But the current status is that some basic things
do work. Working test apps in this repo include a
small ray tracer and a basic port of SQLite. The
latter can read and write SQLite database files that
seem to be fully interoperable with "regular" SQLite
builds.

Still, I suggest you not try using this for anything serious yet.

The subdirectories of this repo have README files with
a bit more info.

See my blog entry for more information.

Main metrics

Overview
Name With Ownerericsink/wasm2cil
Primary LanguageC
Program languageC (Language Count: 5)
Platform
License:Apache License 2.0
所有者活动
Created At2019-03-28 02:26:43
Pushed At2020-06-14 17:36:09
Last Commit At2020-06-14 12:35:55
Release Count0
用户参与
Stargazers Count292
Watchers Count22
Fork Count24
Commits Count364
Has Issues Enabled
Issues Count7
Issue Open Count6
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private