factograf
ZH
登录

Emscripten

信息框全部数据 7
原作者
Alon Zakai
当前版本
6.0.13(2026年10月19日;穩定版本)
源代码库
github.com/emscripten-core/emscripten
编程语言
C、C++、JavaScript
类型
編譯器
许可协议
MIT、UIUC
网站
emscripten.org/

Emscripten是基於LLVM / Clang的編譯器,用來将C和C++源代码编译为WebAssembly 。在WebAssembly於2017年出現以前,JavaScript的子集asm.js曾是編譯目標

Emscripten 允许預先编译用 C 或 C++ 编写的应用程序和库以在網頁瀏覽器中運行,絕大多數的情況下運行速度與直譯(或即時編譯)的 JavaScript 相同或更快。Emscripten 甚至可以模拟整个POSIX操作系统,使程序员能够使用C標準函式庫(libc) 中的函数。

随着WebAssembly的接口(英語:WebAssembly System Interface,WASI)和运行时系统(例如Node.js、Wasmtime和Wasmer)上的WebAssembly的開發進展,Emscripten也可编译成在網頁以外的地方使用的WebAssembly 。

用途

Emscripten 已讓许多 C/C++ 代码库順利移植到WebAssembly,包括Unreal Engine 3、SQLite 、 MeshLab 、 Bulletphysical 。 AutoCAD 、Qt 应用程序框架的子集等等。通过 Emscripten 順利移植到 WebAssembly 的其他软件範例包括:

游戏引擎

Unity、Godot和Unreal游戏引擎利用Emscripten提供了HTML5的导出选项。

框架和工具包

openFrameworks 通过 Emscripten 将本机 C++ 应用程序导出成 HTML5。emscripten-qt允许将使用Qt 应用程序框架编写的应用程序编译为WebAssembly。

软件归档

2014年12月,互联网档案馆推出了用Emscripten编译的DOSBox模拟器,提供数千个基於瀏覽器的存档的MS-DOS和PC程序。

參見

继续阅读

10种语言

文字来自维基百科,CC BY-SA 4.0 · 来源条目