위키득계정 ↗
기술

Emscripten

Emscripten기술
주요 입력 언어
C와 C++
주요 출력
WebAssembly
컴파일 기반
LLVM과 Binaryen
대표 드라이버
emcc
Emscripten은 C와 C++ 코드를 WebAssembly로 컴파일하는 도구 체계다. LLVM과 Binaryen을 사용하며 브라우저와 Node.js 및 WebAssembly 런타임에서 실행할 출력을 생성한다.

네이티브 코드의 변환

Clang을 이용한 C와 C++ 컴파일을 중심으로 WebAssembly 출력을 만든다. 다른 LLVM 기반 컴파일러와 연결하는 경로도 있다. 기존 언어로 작성한 코드를 WebAssembly가 실행되는 환경으로 옮기는 도구 체계다.

웹 환경의 API 연결

OpenGL과 SDL2 같은 이식성 있는 API를 웹에서 사용하는 구성을 제공한다. 그래픽을 포함한 네이티브 응용을 웹 환경에 옮기는 작업을 지원한다. 소스 코드의 컴파일과 실행 환경의 API 연결을 함께 다룬다.

모듈과 로딩 코드

WebAssembly 모듈과 이를 불러와 실행하는 JavaScript 파일을 함께 생성할 수 있다. 모듈을 로딩하는 예제 HTML도 만들 수 있다. 컴파일된 코드와 브라우저 또는 Node.js에서의 시작 과정을 연결하는 구성이다.

관련 문서

Binaryen / WABT / Wasmtime / 웹어셈블리 / 컴파일러 / JavaScript