【问题标题】:How to execute Javascript function in C++如何在 C++ 中执行 Javascript 函数
【发布时间】:2011-02-12 09:16:22
【问题描述】:

请告诉我,如何在 C++ 代码中包含 javascript 头文件或 javascript 函数。 C++代码是用Linux(UBUNTU)写的?

虽然我只需要执行上述操作,但让我告诉你我这样做的目的,因为我打算实现CTI(计算机电话集成)操作。

(将不胜感激)提前非常感谢

【问题讨论】:

  • javascript 依赖于浏览器.. 不是吗?
  • @sunglim,JavaScript 是一种通用编程语言,恰好在浏览器中流行。因此没有依赖关系。
  • @sunglim:Javascript 是 ECMAscript 的一种方言。您会发现许多 ECMAscript 风格,例如 Javascript(由不同的浏览器引擎解释)、Jscript.NET、Actionscript 等。

标签: javascript c++ linux ubuntu


【解决方案1】:

从 C++ 调用脚本函数

http://clipp.sourceforge.net/Tutorial/back_calling.html

来自 C++ 的 JavaScript 调用 - CodeGuru

http://www.codeguru.com/cpp/i-n/ieprogram/article.php/c4399/JavaScript-Calls-from-C.htm

来自 C++ 的 JavaScript 调用 - CodeProject

http://www.codeproject.com/KB/COM/jscalls.aspx

从 c++ 代码调用 javascript - JavaScript / Ajax / DHTML 答案

http://bytes.com/topic/javascript/answers/759793-calling-javascript-c-code

尝试以上所有方法。

【讨论】:

    【解决方案2】:

    通过Mozilla的SpiderMonkey引擎将JS嵌入C++的详细教程可以找到here基本上你需要包含jsapi.h,按照教程描述创建/配置/清理JS引擎(用你的字符串文字 JS 源代码并将生成的字符数组传递给 JS_EvaluateScript),然后在为系统构建可执行文件时链接到 SpiderMonkey 库。请注意,本教程继续解释如何从 JS 调用 C 函数以及如何从 C 调用特定的 JS 函数,这也很有趣,可能更适合 OP 的情况。

    【讨论】:

      【解决方案3】:

      JavaScript 不是一种编译语言,而且无论如何它都不兼容 C++,所以#include 没有机会导入 JavaScript 代码。事实上,头文件的概念在 JavaScript 中甚至都不存在。

      有几种 JavaScript 引擎可以集成到编译语言中,包括:

      1. Mozilla 项目的SpiderMonkey
      2. 谷歌浏览器的V8
      3. 一大堆others

      【讨论】:

        【解决方案4】:

        可能想将您的 JS 移植到 C++;这应该是一个相当简单的任务,因为这两种语言相当相似。

        与实际尝试使用 JS 解析库相比,简单地移植功能可能简单,并且可能更不容易出错。

        【讨论】:

        • 这是一个很好的建议...... C# 4.0 也非常接近 JavaScript - 只要让所有函数返回一个“动态”,你就快到了.. 见 channel9.msdn.com/pdc2008/TL16
        猜你喜欢
        • 2017-01-09
        • 2011-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多