Emscripten

E292730

Emscripten is an open-source compiler toolchain that converts C and C++ (and other LLVM-based languages) into WebAssembly or JavaScript, enabling native code to run efficiently in web browsers.

All labels observed (2)

Label Occurrences
Emscripten canonical 1
emcc 1

How this entity was disambiguated

Statements (51)

Predicate Object
instanceOf LLVM-based toolchain
compiler toolchain
open-source software
transpiler
basedOn LLVM
designGoal compatibility with existing C/C++ codebases
high performance of compiled code in the browser
enables porting existing C and C++ codebases to the web
running native code in web browsers
hasComponent em++
Emscripten self-linksurface differs
surface form: emcc

emconfigure
emmake
emrun
emsdk
integratesWith Node.js
web browsers
isOpenSource true
license MIT License
primaryOutput .js glue code
.wasm files
programmingLanguage C++
provides C standard library implementation for WebAssembly
C++ standard library implementation for WebAssembly
POSIX-like API layer
bindings to Web APIs
filesystem emulation in the browser
repository https://github.com/emscripten-core/emscripten
supportsFeature SIMD in WebAssembly
WebAssembly dynamic linking (experimental/partial)
WebAssembly exceptions (when available)
closure compiler integration for JS optimization
link-time optimization via LLVM
multithreading via Web Workers
source map generation for debugging
supportsLanguage C
C++
Rust
surface form: Rust (via LLVM IR)

other LLVM-based languages
supportsPlatform Linux
Windows
macOS
targetFormat JavaScript
WebAssembly specification
surface form: WebAssembly

asm.js
useCase building high-performance web applications
porting games to the web
porting scientific and engineering applications to the web
running existing C/C++ libraries in JavaScript environments
usesRuntime JavaScript engine in browsers
WebAssembly runtime in browsers

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

LLVM influenced Emscripten
Emscripten hasComponent Emscripten self-linksurface differs
this entity surface form: emcc