Emscripten

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Emscripten은 C/C++ 코드를 웹Assembly로 변환하는 데 사용되는 컴파일러 도구 모음이다. 언리얼 엔진 3, SQLite, MeshLab, 불릿 물리 엔진, 오토캐드, Qt 애플리케이션 프레임워크 등 다양한 소프트웨어를 웹Assembly로 포팅하는 데 활용되어 왔다. 유니티, Defold, 고도 게임 엔진은 Emscripten을 활용하여 HTML5로 내보내기 옵션을 제공하며, openFrameworks는 네이티브 C++ 애플리케이션을 HTML5로 내보내고, emscripten-qt는 Qt 애플리케이션을 WebAssembly로 컴파일할 수 있도록 한다. 또한, 인터넷 아카이브는 Emscripten으로 컴파일된 DOSBox 에뮬레이터를 통해 브라우저에서 MS-DOS 및 PC 프로그램을 실행할 수 있도록 했다.

Emscripten - [IT 관련 정보]에 관한 문서
기본 정보
이름Emscripten
종류컴파일러
개발
개발자Alon Zakai
출시일2012년 11월 11일
최신 안정화 버전3.1.44
최신 안정화 버전 출시일2023년 7월 25일
프로그래밍 언어C
C++
자바스크립트
라이선스
라이선스MIT 라이선스
일리노이 대학교/NCSA 오픈 소스 라이선스
기타 정보
웹사이트Emscripten 공식 웹사이트
📚 더 읽어볼만한 페이지
  • 소스 대 소스 컴파일러 - 스칼라 (프로그래밍 언어)
    스칼라는 마틴 오더스키가 설계한 객체 지향 및 함수형 프로그래밍 언어이며, 자바 플랫폼에서 실행되고 자바 코드와 상호 운용이 가능하며, 아파치 스파크 등 다양한 곳에서 활용된다.
  • 소스 대 소스 컴파일러 - 타입스크립트
    타입스크립트는 마이크로소프트에서 개발한 자바스크립트의 상위 집합으로, 정적 타입 지정, 타입 추론 등의 기능을 제공하여 코드의 안정성과 가독성을 높이는 언어이다.
  • MIT 라이선스 소프트웨어 - MS-DOS
    MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다.
  • MIT 라이선스 소프트웨어 - Zcash
    Zcash는 존스 홉킨스 대학교 연구를 기반으로 개발된 익명성 강화 암호화폐로, zk-SNARK 영지식 증명을 통해 거래 당사자의 익명성을 보장하지만, 범죄 악용 우려와 규제 대상 가능성이 존재한다.
  • 자바스크립트 라이브러리 - 구글 웹 툴킷
    구글 웹 툴킷(GWT)은 자바 코드를 자바스크립트로 변환하여 웹 애플리케이션 개발을 지원하는 도구로, 개발자가 자바 언어로 Ajax 애플리케이션을 개발하고 GWT 컴파일러를 통해 최적화된 자바스크립트 파일로 변환할 수 있게 한다.
  • 자바스크립트 라이브러리 - AngularJS
    AngularJS는 동적 웹 애플리케이션 개발을 용이하게 하기 위해 설계된 오픈 소스 자바스크립트 프레임워크로, MVC 패턴 적용, 의존성 주입, HTML 확장 디렉티브 제공, 양방향 데이터 바인딩 등의 특징을 가지며, 장기 지원은 종료되었지만 웹 개발에 중요한 영향을 미쳤다.

2. 활용 분야

Emscripten은 언리얼 엔진 3, SQLite, MeshLab, 불릿 물리 엔진, 오토캐드, Qt 애플리케이션 프레임워크의 일부 등 다양한 C/C++ 코드 베이스를 웹Assembly로 포팅하는 데 사용되어 왔다.

2.1. 게임 엔진

유니티, Defold, 고도 게임 엔진은 Emscripten을 활용하여 HTML5로 내보내는 옵션을 제공한다. 언리얼 엔진은 이 내보내기 옵션을 가지고 있었지만, 현재는 엔진에서 제거되어 커뮤니티 멤버 플러그인으로 이전되었다.

2.2. 프레임워크 및 툴킷

openFrameworks는 Emscripten을 통해 네이티브 C++ 애플리케이션을 HTML5로 내보낼 수 있게 한다. emscripten-qt는 Qt 애플리케이션 프레임워크로 작성된 애플리케이션을 WebAssembly로 컴파일할 수 있도록 한다.

2.3. 소프트웨어 아카이빙

2014년 12월, 인터넷 아카이브MS-DOS 및 PC용으로 보관된 수천 개의 프로그램을 브라우저에서 접근할 수 있도록 Emscripten으로 컴파일된 DOSBox 에뮬레이터를 출시했다.

2.4. 기타 소프트웨어

Emscripten은 언리얼 엔진 3, SQLite, MeshLab, 불릿 물리 엔진, 오토캐드, Qt 애플리케이션 프레임워크 등 다양한 C/C++ 코드 베이스를 웹Assembly로 포팅하는 데 사용되어 왔다.

3. 관련 기술

* asm.js
* PNaCl
* Haxe
* WebAssembly

4. 참고 사항

* asm.js
* 구글 네이티브 클라이언트 (PNaCl)
* Haxe
* WebAssembly