1

我想使用 VS2010 在我的 C#(或 C++)控制台应用程序中嵌入 spidermonkey 引擎调用,因此我可以将一些值从 C# 代码发送到 javascript 函数并取回结果,但我不知道从哪里开始以及如何开始.

到目前为止,我已经下载了 spidermonkey 源代码并使用 mozilla-build 工具对其进行了编译。现在我可以启动 js shell,加载我的 .js 文件,在其中运行 javascript 函数并获得正确的结果。比我在 VS2010 中创建 win32 C++ 控制台应用程序,将我的 dist/include 文件夹中的 js.lib 和头文件添加到项目. 尝试使用简单的示例来启动它,实际上它构建时没有错误(仅尝试 3 天后),但在运行时会引发系统错误 - “无法启动,因为您的计算机中缺少 js.exe。”

4

1 回答 1

1

如果您想将 spidermonkey 嵌入到您自己的 C++ 应用程序中,您应该将 spidermonkey 视为静态库或 DLL 库并将其链接到您自己的代码。

我建议不要打扰 js shell,除非在我看来,测试你的 spidermonkey 构建或测试在独立 shell 中运行一些 Javascript 脚本。也可以通过学习js shell源码来感受一下如何正确使用JSAPI函数调用。但是为了将 spidermonkey 嵌入到您自己的 C++ 应用程序中,js shell 没有提供特殊的 API。它只是另一个使用spidermonkey 公开的JSAPI 的控制台应用程序。

查看构建目录中的 jsapi.h。这些是您自己的应用程序应该使用的函数调用。特别是,我认为您通常会创建许多公开为 Javascript 函数的 JSNative 函数。

于 2012-03-07T09:35:49.723 回答