Emscripten WebAssembly Compiler
emscripten.org
1
Leaving SiteNav
External Link Disclaimer
You are about to visit emscripten.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Emscripten is a complete compiler toolchain to WebAssembly (Wasm), using LLVM, that targets JavaScript and WebAssembly, enabling C, C++, and other languages that compile to LLVM bitcode to run on the web. Originally developed by Alon Zakai at Mozilla in 2010, Emscripten is now maintained by the Chrome team at Google. Key features: LLVM-based compilation pipeline converting C/C++ source code to LLVM IR, then to WebAssembly binary format (.wasm) with a JavaScript glue layer for web integration. Full C and C++ standard library support including libc (musl), libc++, and SDL, enabling porting of existing native applications and libraries to the browser. POSIX emulation layer providing file system (MEMFS), terminal (TTY), signals, and environment variables on top of browser APIs. Graphics support via OpenGL ES 2.0/3.0 emulation translating to WebGL 2, enabling 3D games and applications to run in browsers. SDL2 and GLUT bindings for game development. Asyncify for synchronous-to-async transformation, enabling blocking C/C++ code (sleep, file I/O, network) to work in the async JavaScript environment without modification. WebIDL Binder for generating JavaScript bindings from C++ classes described in WebIDL. Embind for manually binding C++ functions and classes to JavaScript. WASI (WebAssembly System Interface) support via wasi-sdk for standalone Wasm modules. Emrun for launching a local web server and browser for testing. Code optimization with LLVM optimization passes and dead code elimination producing minimal output. Source maps for debugging compiled Wasm in browser developer tools. POSIX threads via Web Workers and SharedArrayBuffer. Ported projects include Unreal Engine, Unity, SQLite, FFmpeg, Doom, AutoCAD web app, and Figma's C++ rendering engine.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike