【问题标题】:How to call C++ functions/methods via JavaScript如何通过 JavaScript 调用 C++ 函数/方法
【发布时间】:2016-10-01 03:38:41
【问题描述】:

有谁知道如何通过 JavaScript 调用 C++ 函数或方法。 需要像 Lua/Python-C++ 这样的脚本,但需要使用 JavaScript。

提前致谢。

【问题讨论】:

  • 在哪个平台上,在什么情况下?
  • 本题相关搜索结果可见here

标签: javascript c++


【解决方案1】:

你可以试试Google's V8:

开源 JavaScript 引擎。

V8 是用 C++ 编写的,用于谷歌的开源浏览器 Google Chrome。

V8 实现了 ECMA-262 第 3 版中指定的 ECMAScript,并在 Windows XP 和 Vista、Mac OS X 10.5 (Leopard) 以及使用 IA-32 或 ARM 处理器的 Linux 系统上运行。

V8 可以独立运行,也可以embedded 进入任何 C++ 应用程序...

【讨论】:

    【解决方案2】:

    这是一个有点老的问题,但如果有人偶然发现这个问题来找到答案,我认为这会很有帮助 https://developers.google.com/native-client/ 但这仅适用于 Chrome。

    【讨论】:

    • Chrome 不再支持 Native Client,但仍然可以使用 Emscripten 从 JavaScript 调用 C++ 函数。
    【解决方案3】:

    我不知道有任何跨浏览器解决方案,但对于 Firefox,我建议XPCOM

    【讨论】:

      【解决方案4】:

      【讨论】:

      • 问题是如何从 javascript 访问 C++ 对象...而不是如何从 C++ 访问 Javascript。
      【解决方案5】:

      您可以使用多种不同的 JavaScript 引擎。我不认为他们有一个通用的编程接口,所以你必须选择一个并使用它。 Google Chrome 使用V8,Mozilla 使用spidermonkey。 V8 和 spidermonkey 都是开源的。我猜spidermonkey已经存在了一段时间了,它更成熟了。还有来自苹果的WebKit JavaScript engine,也是开源的。

      维基百科也有a list of JavaScript engines

      【讨论】:

        【解决方案6】:

        Javascript 指令是由浏览器解释的,我不认为 JS 有 C++ 层(无论如何也没有多大意义)。 你想达到什么目的?

        【讨论】:

        • 他想使用 JavaScript 作为他的 C++ 应用程序的扩展语言。
        • 这不是一个真正的答案,如果是这样,它应该是一个评论。
        【解决方案7】:

        如何通过 Javascript XHR 调用服务器端脚本,在系统级别执行您的 C 程序?

        【讨论】:

          【解决方案8】:

          JavaScript有不同的实现(在不同的浏览器中) 在 Windows 平台上,您可以使用 COM 对象形式的 C++ 代码

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-12-26
            • 1970-01-01
            • 2019-07-06
            • 2013-06-28
            • 1970-01-01
            • 2021-12-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多