热门问题
时间线
聊天
视角

Emscripten

来自维基百科,自由的百科全书

Remove ads

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

事实速览 原作者, 当前版本 ...

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

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

Remove ads

用途

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

游戏引擎

UnityGodotUnreal游戏引擎利用Emscripten提供了HTML5的导出选项。 [14] [15] [16]

框架和工具包

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

软件归档

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

參見

參考文獻

外部链接

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads