Emscripten
"오늘의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. 참고 사항
- asm.js
- 구글 네이티브 클라이언트 (PNaCl)
- Haxe
- WebAssembly
참조
[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