Emscripten

Emscripten:一个从 LLVM 到 JavaScript 的编译器。「Emscripten: An LLVM-to-JavaScript Compiler.」

Github stars Tracking Chart

Emscripten

主项目页面: http://emscripten.org

Emscripten 是一个 LLVM 到 JavaScript 的编译器。使用Emscripten,您可以:

  • 将 C 和 C++ 代码编译成 JavaScript
  • 将可以翻译为 LLVM 位代码的任何其他代码编译为 JavaScript。
  • 将其他语言的 C/C++ 运行时编译为 JavaScript,然后以间接方式以这些其他语言运行代码(这已在 Python 和 Lua 中完成)!

Emscripten 使用 LLVMBinaryen 将 C 和 C++ 编译为 WebAssembly。 Emscripten 输出可以在 Web、Node.js 和 wasm 运行时 中运行。

Emscripten 为流行的可移植 API(例如 OpenGL 和 SDL2)提供 Web 支持,从而允许移植复杂的图形化本地应用程序,例如 Unity 游戏引擎和 Google Earth。 它也可以移植您的代码库!

尽管 Emscripten 主要致力于使用 Clang 编译 C 和 C++,但它可以与其他使用 LLVM 的编译器集成(例如,Rust 已经通过 wasm32-unknown-emscripten 和 asmjs-unknown-emscripten targets 实现 Emscripten 集成)。

许可证

Emscripten 有两种许可证,MIT许可证和 Illinois/NCSA 开源许可证。

两者都是开放源码许可,几乎没有任何实际区别。

提供这两种许可证的原因是:(1)MIT的许可证是众所周知的,而(2)伊利诺斯州大学的开源许可证(Illinois/NCSA)允许 Emscripten 的代码在上游集成到 LLVM 中,如果有机会的话,LLVM 将使用该许可证

有关许可证的完整内容,请参阅 LICENSE 。

Overview

Name With Owneremscripten-core/emscripten
Primary LanguageC++
Program languageCMake (Language Count: 16)
PlatformLinux, Mac, Windows, Docker
License:Other
Release Count438
Last Release Name3.1.59 (Posted on )
First Release Name1.0.1a (Posted on )
Created At2011-02-12 05:23:30
Pushed At2024-05-06 17:56:38
Last Commit At
Stargazers Count25.2k
Watchers Count587
Fork Count3.2k
Commits Count27k
Has Issues Enabled
Issues Count8997
Issue Open Count1676
Pull Requests Count10526
Pull Requests Open Count318
Pull Requests Close Count1628
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

emscripten logo

CircleCI

Main project page: http://emscripten.org

Overview

Emscripten compiles C and C++ to WebAssembly using
LLVM and
Binaryen. Emscripten output can run
on the Web, in Node.js, and in
wasm runtimes.

Emscripten provides Web support for popular portable APIs such as OpenGL and
SDL2, allowing complex graphical native applications to be ported, such as
the Unity game engine
and Google Earth.
It can probably port your codebase, too!

While Emscripten mostly focuses on compiling C and C++ using
Clang, it can be integrated with other LLVM-using
compilers (for example, Rust has Emscripten integration, with the
wasm32-unknown-emscripten and asmjs-unknown-emscripten targets).

License

Emscripten is available under 2 licenses, the MIT license and the
University of Illinois/NCSA Open Source License.

Both are permissive open source licenses, with little if any
practical difference between them.

The reason for offering both is that (1) the MIT license is
well-known, while (2) the University of Illinois/NCSA Open Source
License allows Emscripten's code to be integrated upstream into
LLVM, which uses that license, should the opportunity arise.

See LICENSE for the full content of the licenses.

To the top