JavaScript
Need help with cheerp-meta?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
leaningtech

Description

Cheerp - a C/C++ compiler for Web applications - compiles to WebAssembly and JavaScript

477 Stars 30 Forks 22 Commits 9 Opened issues

Services available

Need anything else?

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++17) 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/pages/cheerp.html

This repository is the main reference for documentation, issue tracking, and release notes.

What is Cheerp

Cheerp is a C/C++ compiler for the Web, based and integrated into the LLVM/clang infrastructure, and featuring numerous custom optimisation steps to maximise performance and minimise size of the compiled JavaScript/WebAssembly output. Thanks to this, Cheerp is the best performing, most optimised C++ to WebAssembly compiler available on the market

Cheerp is used primarily to port existing C/C++ libraries and applications to HTML5, but can also be used to write high-performance Web applications and WebAssembly components from scratch. C/C++ gets optimised and compiled into JavaScript/WebAssembly, and can easily be integrated in a web page.

Diagram of Cheep usage

What is unique about Cheerp?

Cheerp enables C/C++ code to be compiled to WebAssembly, JavaScript, asm.js or a combination thereof. Compared to alternative C/C++ compilers for web applications such as Emscripten, Cheerp:

  1. Generates faster WebAssembly code, but can also compile to a JavaScript output with dynamic memory (garbage-collectible output), zero-overhead DOM manipulation and access to WebApis and superior C++-JavaScript interoperability.
  2. Allows to compile a single code base into a combination of WebAssembly and JavaScript by (optionally) tagging portions of the code with
    [[cheerp::genericjs]]
    and
    [[cheerp::wasm]]
    .
  3. Generates smaller WebAssembly outputs.

Cheerp is open-source software and is free to use for GPLv2 projects. Non-copyleft commercial licenses, commercial support and consulting packages are available from Leaning Technologies.

Get started

First time user? We recommend following the Getting started page, that will guide though this steps: + Install + Cheerp basics + Ready? + Hello, World! + Tutorials

Or look at the sidebar to find lots of useful materials

Bugs and Questions

You can get in touch with us using our Gitter chat, or by filing a bug on our Issue tracker.

Documentation

Documentation is available at https://github.com/leaningtech/cheerp-meta/wiki.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.