Emscripten Documentation — Emscripten 4.0.7-git (dev) documentation (original) (raw)
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