Emscripten

Emscripten allows applications and libraries written in C or C++ to be compiled ahead of time and run efficiently in web browsers, typically at speeds comparable to or faster than interpreted or dynamically compiled JavaScript.

It even emulates an entire POSIX operating system, enabling programmers to use functions from the C standard library (libc).

Emscripten has been used to port a number of C/C++ code bases to WebAssembly, including Unreal Engine 3, SQLite,[9] MeshLab,[10] Bullet physics,[11] AutoCAD,[12] and a subset of the Qt application framework.

[13] Other examples of software ported to WebAssembly via Emscripten include the following: The Unity, Defold, and Godot game engines provide an export option to HTML5, utilizing Emscripten.

[13] In December 2014, the Internet Archive launched a DOSBox emulator compiled in Emscripten to provide browser-based access to thousands of archived MS-DOS and PC programs.