0

我需要将 C++ 类(打包为共享库)暴露给 JavaScript 的神奇世界。

最明显的解决方案是使用 Node.js/v8。问题是它必须在 PowerPC 上运行(请不要对此发表评论......)而且 - 唉!- v8 不能在 PowerPC 上运行(v8-powerpc项目似乎已经死了)。

我试图了解是否有任何其他可行的解决方案,目前一些可能性是:

  1. emscripten,将 LLVM 位码转换为 JavaScript;
  2. WebKit 的JavaScriptCore,虽然我不确定它是否会工作(无论如何我都会在 PowerPC 上安装 WebKit)

我不是 JavaScript 专家,实际上我感到很迷茫,所以这些是我的问题:

  1. emscripten 是一个有效的解决方案吗?(你用过吗?)
  2. 任何人都可以向我指出有关如何使用 JavaScriptCore 将 C++ 公开给 JavaScript 的任何文档吗?
  3. 还有其他选择吗,和/或您会采用哪一种?

非常感谢,

里佩尔

4

4 回答 4

1

Qt 有一个在 powerpc 上运行的 webkit 端口,它有一个 javascript 引擎,允许您调用 C++ 代码。

Qt:使应用程序可编写脚本

于 2012-06-22T14:24:32.437 回答
0

JavaScriptCore 有JSObjectMakeFunctionWithCallback()。不过,看起来这可能涉及大量样板代码来转换参数和异常。

于 2012-07-20T19:49:41.200 回答
0

您可以使用Emscripten。我已经使用它并且正在使用它。问题是:

  • JS/C 社区在 IMO 上对Emscripten有点怀疑/不同,所以你可能不会在那里得到太多支持(通常 #emscripten IRC 频道很有帮助)。
  • Emscripten编译代码相当容易/很好,但您需要对 C 有深入的了解才能获得有效的解决方案。您可能必须重写代码的某些部分以使其按 JavaScript 引擎的预期工作(例如使用 main_loop、回调等)。
  • 使用Node.js,您也可以尝试使用同步文件 api(请参阅http://nodejs.org/api/fs.html) - 但我担心您将不得不更改Emscripten文件访问仿真,因为它主要是编码的对于浏览器的使用,现在。
于 2012-07-02T12:56:03.100 回答
0

现在 Node.js 可以在 PowerPC 上运行。请参阅此 github 链接(我认为它可以在任何具有运行 linux 的 powerpc 处理器的系统上运行。

于 2015-07-27T11:01:30.603 回答