맨위로가기

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 프로그램을 실행할 수 있도록 했다.

더 읽어볼만한 페이지

  • 소스 대 소스 컴파일러 - 스칼라 (프로그래밍 언어)
    스칼라는 마틴 오더스키가 설계한 객체 지향 및 함수형 프로그래밍 언어이며, 자바 플랫폼에서 실행되고 자바 코드와 상호 운용이 가능하며, 아파치 스파크 등 다양한 곳에서 활용된다.
  • 소스 대 소스 컴파일러 - 타입스크립트
    타입스크립트는 마이크로소프트에서 개발한 자바스크립트의 상위 집합으로, 정적 타입 지정, 타입 추론 등의 기능을 제공하여 코드의 안정성과 가독성을 높이는 언어이다.
  • 컴파일러 - 바이너리 재컴파일러
  • 컴파일러 - 링커 (컴퓨팅)
    링커는 여러 모듈로 된 목적 파일을 결합해 실행 가능한 프로그램을 만들고, 정적/동적 링킹으로 라이브러리를 연결하며, 심볼 해결 및 재배치로 변수와 함수를 메모리 주소에 연결하는 소프트웨어 도구이다.
  • 자바스크립트 라이브러리 - 구글 웹 툴킷
    구글 웹 툴킷(GWT)은 자바 코드를 자바스크립트로 변환하여 웹 애플리케이션 개발을 지원하는 도구로, 개발자가 자바 언어로 Ajax 애플리케이션을 개발하고 GWT 컴파일러를 통해 최적화된 자바스크립트 파일로 변환할 수 있게 한다.
  • 자바스크립트 라이브러리 - AngularJS
    AngularJS는 동적 웹 애플리케이션 개발을 용이하게 하기 위해 설계된 오픈 소스 자바스크립트 프레임워크로, MVC 패턴 적용, 의존성 주입, HTML 확장 디렉티브 제공, 양방향 데이터 바인딩 등의 특징을 가지며, 장기 지원은 종료되었지만 웹 개발에 중요한 영향을 미쳤다.
Emscripten - [IT 관련 정보]에 관한 문서
기본 정보
이름Emscripten
종류컴파일러
개발
개발자Alon Zakai
출시일2012년 11월 11일
최신 안정화 버전3.1.44
최신 안정화 버전 출시일2023년 7월 25일
프로그래밍 언어C
C++
자바스크립트
라이선스
라이선스MIT 라이선스
일리노이 대학교/NCSA 오픈 소스 라이선스
기타 정보
웹사이트Emscripten 공식 웹사이트

2. 활용 분야

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

2. 1. 게임 엔진

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

2. 2. 프레임워크 및 툴킷

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

2. 3. 소프트웨어 아카이빙

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

2. 4. 기타 소프트웨어

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

3. 관련 기술

4. 참고 사항

참조

[1] 웹사이트 emscripten-core/emscripten: Emscripten: An LLVM-to-JavaScript Compiler https://github.com/e[...]
[2] Github WebAssembly · emscripten-core/emscripten Wiki https://github.com/k[...]
[3] 웹사이트 Standardizing WASI: A system interface to run WebAssembly outside the web – Mozilla Hacks - the Web developer blog https://hacks.mozill[...] Mozilla 2022-10-31
[4] 웹사이트 WASI: The WebAssembly System Interface https://wasi.dev/ The Wasmtime Project 2021-02-10
[5] 웹사이트 Wasmtime: A small and efficient runtime for WebAssembly & WASI https://wasmtime.dev[...] The Wasmtime Project 2021-02-10
[6] 웹사이트 Wasmer: The Universal WebAssembly Runtime https://wasmer.io/ Wasmer 2021-02-10
[7] 웹사이트 sqlite3 WebAssembly & JavaScript Documentation Index https://sqlite.org/w[...] 2023-05-08
[8] MeshLab Homepage of the experimental, client based, javascript, version of MeshLab that runs inside a browser http://www.meshlabjs[...]
[9] 웹사이트 Porting Examples and Demos https://github.com/e[...] 2016-03-01
[10] 웹사이트 The Future of AutoCAD http://through-the-i[...] 2018-05-09
[11] 웹사이트 Qt for WebAssembly https://doc.qt.io/qt[...]
[12] 웹사이트 Unity game engine heading to the browser without plug-ins https://arstechnica.[...] 2016-03-01
[13] 웹사이트 The future of scripting in Unity – Unity Blog http://blogs.unity3d[...] 2016-03-01
[14] 웹사이트 Defold HTML Development https://defold.com/m[...] 2023-12-18
[15] 웹사이트 Developing HTML5 with Unreal https://docs.unreale[...] 2018-12-18
[16] 웹사이트 openFrameworks setup for Emscripten http://openframework[...] 2016-03-04
[17] 뉴스 You can now play nearly 2,400 MS-DOS video games in your browser https://www.washingt[...] The Washington Post 2015-01-08
[18] 문서 Each New Boot a Miracle http://ascii.textfil[...] 2014-12-23
[19] 웹사이트 Internet Archive Search: "collection:softwarelibrary_msdos" https://archive.org/[...] 2016-03-01
[20] Github Releases · emscripten-core/emscripten https://github.com/e[...]
[21] Emscripten emscripten-core/emscripten: Emscripten: An LLVM-to-WebAssembly Compiler https://github.com/e[...]
[22] 웹사이트 Building to WebAssembly — Emscripten 2.0.31 (dev) documentation https://emscripten.o[...] 2021-09-17
[23] 웹사이트 Easily Port C++ To HTML5/JavaScript With Emscripten http://www.webpronew[...] iEntry Network 2013-08-17
[24] 웹사이트 WASI: The WebAssembly System Interface https://wasi.dev/ The Wasmtime Project 2021-02-10
[25] 웹사이트 Wasmtime: A small and efficient runtime for WebAssembly & WASI https://wasmtime.dev[...] The Wasmtime Project 2021-02-10
[26] 웹사이트 Wasmer: The Universal WebAssembly Runtime https://wasmer.io/ Wasmer 2021-02-10
[27] MeshLab Homepage of the experimental, client based, javascript, version of MeshLab that runs inside a browser http://www.meshlabjs[...]
[28] 웹사이트 Porting Examples and Demos https://github.com/e[...] 2016-03-01
[29] 웹사이트 The Future of AutoCAD http://through-the-i[...] 2018-05-09
[30] 웹사이트 Qt for WebAssembly https://doc.qt.io/qt[...] 2020-09-25
[31] 웹사이트 Unity game engine heading to the browser without plug-ins https://arstechnica.[...] 2016-03-01
[32] 웹사이트 The future of scripting in Unity – Unity Blog http://blogs.unity3d[...] 2016-03-01
[33] 웹사이트 Tappy Chicken https://www.unrealen[...] 2016-03-01
[34] 웹사이트 openFrameworks setup for Emscripten http://openframework[...] 2016-03-04
[35] 웹사이트 You can now play nearly 2,400 MS-DOS video games in your browser https://www.washingt[...] 2015-01-08
[36] 뉴스 Each New Boot a Miracle http://ascii.textfil[...] Jason Scott 2014-12-23
[37] 웹사이트 Internet Archive Search: "collection:softwarelibrary_msdos" https://archive.org/[...] 2016-03-01
[38] 웹인용 emscripten-core/emscripten: Releases https://github.com/e[...] 2021-02-09
[39] 웹인용 emscripten-core/emscripten: Emscripten: An LLVM-to-JavaScript Compiler https://github.com/e[...]
[40] 웹인용 Easily Port C++ To HTML5/JavaScript With Emscripten http://www.webpronew[...] iEntry Network 2019-07-23
[41] 웹사이트 https://github.com/k[...]
[42] 웹사이트 Homepage of the experimental, client based, javascript, version of MeshLab that runs inside a browser http://www.meshlabjs[...]
[43] 웹사이트 Porting Examples and Demos https://github.com/e[...] 2016-03-01
[44] 웹인용 The Future of AutoCAD http://through-the-i[...] 2018-05-09
[45] 웹인용 Wiki - emscripten-qt http://vps2.etotheip[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com