Emscripten

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

Emscripten是基於LLVM / Clang編譯器,用來將CC++原始碼編譯為WebAssembly [3]。在WebAssembly於2017年出現以前,JavaScript的子集asm.js曾是編譯目標 [4]

快速預覽 原作者, 目前版本 ...
Emscripten
Thumb
原作者Alon Zakai
目前版本
  • 4.0.7(2025年4月15日;穩定版本)[1]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言CC++JavaScript[2]
類型編譯器
許可協定MITUIUC英語University of Illinois/NCSA Open Source License
網站emscripten.org/ 編輯維基數據
關閉

Emscripten 允許預先編譯用 C 或 C++ 編寫的應用程式和庫以在網頁瀏覽器中運行,絕大多數的情況下運行速度與直譯(或即時編譯)的 JavaScript 相同或更快。Emscripten 甚至可以模擬整個POSIX作業系統,使程式設計師能夠使用C標準函式庫(libc) 中的函數。 [5]

隨着WebAssembly的介面(英語:WebAssembly System Interface,WASI)[6]執行時系統(例如Node.js、Wasmtime[7]和Wasmer[8])上的WebAssembly的開發進展,Emscripten也可編譯成在網頁以外的地方使用的WebAssembly 。

用途

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 related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.