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

时间:2017-06-01 18:15:04

标签: javascript c++ clang llvm emscripten

我了解EmscriptenLLVM,但两者都不是用JavaScript编写的。

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

所以我提到我天真的实施:

  1. 将Emscripten编译为C,然后使用Clang将其编译为LLVM,然后使用Emscripten将其编译为JavaScript。
  2. 将Clang编译为LLVM,然后通过Emscripten将其编译为JavaScript。
  3. 编写一些C ++并通过JavaScript Clang运行它,然后通过Emscripten运行该LLVM以获取JavaSscript
  4. 运行生成的JavaScript!
  5. 我确定我的步骤中遗漏了一些东西。请让我知道,如果社区有任何努力来解决这些遗失的部分,请告诉我。

    编辑:JSCPP是我找到的最接近的,但它缺乏很多功能,坦率地说,作者通过尝试自己重写解析器等而做出了荒谬的承诺。比使用现有的工具。仍然,亲密而且非常整洁。

1 个答案:

答案 0 :(得分:0)

从理论上讲,尽管尚未完成开发可以在浏览器中运行的self-hosting version of Emscripten的可能。

还有许多针对x86指令集体系结构的C编译器,因此应该有可能使用Emscripten在浏览器中运行这些编译器之一,然后使用x86 emulator in JavaScript运行编译器的输出。