Stefano De Rossi edited this page Nov 14, 2017 · 39 revisions

Cheerp - a C/C++ compiler for Web applications

Gitter chat GitHub Issues Latest version Latest version changelog

Cheerp is an open-source, commercial C/C++ compiler for Web applications. It allows to compile virtually any C/C++ code (up to C++14) to WebAssembly, JavaScript, asm.js or a combination thereof.

Download latest version: Latest version Latest version changelog

Main documentation link: https://github.com/leaningtech/cheerp-meta/wiki

Main project link: https://leaningtech.com/cheerp/

This repository is the main reference for documentation, issue tracking, and release notes. Please contribute to Cheerp!

What is Cheerp?

Cheerp is a C++ compiler for the Web, based and integrated into the LLVM/clang infrastructure.

With Cheerp you can write Web applications in C/C++, or port existing C/C++ code to the Web. Your C++ code is fully optimized by the LLVM system and it's compiled into either WebAssembly, JavaScript, or a combination of them, and will run on any browser.

Getting Started

If you don't know where to start take a look at the build/installation instructions first, then visit the Getting Started page, or follow this basic WebAssembly tutorial.

For a more in-depth tutorial, please visit My first WebAssembly game (Tutorial).

Interfacing with the browser

Cheerp provide fully transparent and complete access to all HTML/DOM APIs and browser capabilities. See Browser side programming guide for more information.

Details on how Cheerp allows your C/C++ to interoperate with JavaScript transparently, visit the JavaScript interoperability page.

Other relevant pages:

Advanced topics

Using WebWorkers with Cheerp

GLES support (webGLES)

64-bit integer support


Windows and Mac OS X installation

Ubuntu/Debian installation using PPA

Linux build instructions

Windows build instructions

Cheerp internals

Cheerp memory model

Cheerp intrinsics

Cheerp PreExecuter