Emscripten Documentation
This comprehensive documentation set contains everything you need to know to use Emscripten.
Getting started:
Introducing Emscripten explains what Emscripten does, why it is needed, its limitations and its licensing. It will help you understand whether Emscripten is the right tool for you.
Getting Started walks you through downloading, installing and using the Emscripten SDK.
Emscripten Fundamentals:
Porting illustrates the main differences between the native and Emscripten runtime environments, and explains the changes you need to make to prepare your C/C++ code for the Web.
Optimizing Code shows how to optimise your code for size and performance.
Optimizing WebGL gives tips for how to maximize WebGL rendering performance for your page.
Compiling and Running Projects demonstrates how to integrate Emscripten into your existing project build system.
Contributing:
Contributing to Emscripten explains how you can contribute to the project.
Building Emscripten from Source explains how to build Emscripten from sources on GitHub (this is useful for contributors).
About this site describes the documentation tools and writing conventions used to create this site.
Reference:
API Reference is a reference for the Emscripten toolchain.
Emscripten Compiler Settings is a reference of all the Emscripten compiler settings.
Tools Reference is a reference for the Emscripten integration APIs.
Debugging with Sanitizers shows how to debug with sanitizers.
Module Splitting is a guide to splitting modules and deferring the loading of code to improve startup time.
The full hierarchy of articles, opened to the second level, is shown below.
- Introducing Emscripten
- Getting Started
- Porting
- Code Portability and Limitations
- Emscripten Runtime Environment
- Connecting C++ and JavaScript
- Files and File Systems
- Multimedia and Graphics
- Audio
- Debugging
- Pthreads support
- Networking
- Using SIMD with WebAssembly
- GCC/Clang SIMD Vector Extensions
- WebAssembly SIMD Intrinsics
- Limitations and behavioral differences
- Optimization considerations
- Compiling SIMD code targeting x86 SSE* instruction sets
- Compiling SIMD code targeting ARM NEON instruction set
- C++ Exceptions Support
- C setjmp-longjmp Support
- Asynchronous Code
- Building Projects
- Optimizing Code
- Optimizing WebGL
- Profiling the Toolchain
- Module Splitting
- Compiling and Running Projects
- Building Emscripten from Source
- Contributing to Emscripten
- API Reference
- Tools Reference
- Debugging with Sanitizers
- Site Links