如何在浏览器中将C++编译为JavaScript?

Jas*_*ell 6 javascript c++ llvm clang emscripten

我知道EmscriptenLLVM,但它们都不是用于浏览器的JavaScript编写的.

据我所知,工具存在,但它们没有放在一起,但我很可能会遗漏一些关键因素,这使得在浏览器中将C++编译为JavaScript变得非常困难.

所以我会提到我天真的实现:

  1. 将Emscripten编译为C,然后使用Clang将其编译为LLVM,然后使用Emscripten将其编译为JavaScript.
  2. 将Clang编译为LLVM,然后通过Emscripten将其编译为JavaScript.
  3. 编写一些C++并通过JavaScript Clang运行它,然后通过Emscripten运行该LLVM以获取JavaSscript
  4. 运行生成的JavaScript!

我确信我的步骤中缺少一些东西.请让我知道,如果社区有任何努力来解决这些遗失的部分,请告诉我.


编辑:JSCPP是我发现的最接近的,但它缺乏很多功能,坦率地说,作者通过尝试自己重写解析器等而不是使用现有工具来进行荒谬的工作.仍然,亲密而且非常整洁.

And*_*een 5

可以使用在浏览器中运行的Emscripten 自托管版本(例如emception)将 C++ 编译为 JavaScript 。

或者,可以使用JavaScript 中的 x86 模拟器来运行 C++ 编译器(甚至整个操作系统) 。