Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Spidermonkey—从C或C+调用javascript函数+;(VIsual Studio 2010)_C#_Javascript_C++_Visual Studio 2010_Spidermonkey - Fatal编程技术网

C# Spidermonkey—从C或C+调用javascript函数+;(VIsual Studio 2010)

C# Spidermonkey—从C或C+调用javascript函数+;(VIsual Studio 2010),c#,javascript,c++,visual-studio-2010,spidermonkey,C#,Javascript,C++,Visual Studio 2010,Spidermonkey,我想使用VS2010将spidermonkey引擎调用嵌入到我的C#(或C++)控制台应用程序中,这样我就可以将一些值从C#代码发送到javascript函数并返回结果,但我不知道从何处以及如何开始 到目前为止,我已经下载了spidermonkey源代码,并使用mozilla构建工具进行了编译。现在我可以启动JS shell,加载我的.js文件,运行JavaScript函数,并得到正确的结果。在VS2010中,我创建了Win32 C++控制台应用程序,从我的DIST/AIM文件夹中添加JSLIB

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


到目前为止,我已经下载了spidermonkey源代码,并使用mozilla构建工具进行了编译。现在我可以启动JS shell,加载我的.js文件,运行JavaScript函数,并得到正确的结果。在VS2010中,我创建了Win32 C++控制台应用程序,从我的DIST/AIM文件夹中添加JSLIB和头文件到Project。试着用简单的方法启动它,并且它确实没有错误(在尝试了3天之后),但是在运行时它会引发系统错误——“因为JS.EXE从你的计算机中丢失了,所以不能启动。”

< P>如果你想把蜘蛛猴嵌入到你自己的C++应用程序中,您应该将spidermonkey视为静态或DLL库,并将其链接到您自己的代码

我建议不要使用js外壳,除非,比如,在我看来,测试spidermonkey构建或在独立的外壳中测试运行一些Javascript脚本。您还可以研究js shell源代码,了解如何正确使用JSAPI函数调用。但是,为了将SPIDER猴子嵌入到自己的C++应用程序中,JS Shell没有提供特殊的API。它只是另一个控制台应用程序,使用spidermonkey公开的JSAPI


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

< P>如果你想把蜘蛛猴嵌入到你自己的C++应用程序中,你就应该把蜘蛛猴当作静态或DLL库,并把它链接到你自己的代码。p> 我建议不要使用js外壳,除非,比如,在我看来,测试spidermonkey构建或在独立的外壳中测试运行一些Javascript脚本。您还可以研究js shell源代码,了解如何正确使用JSAPI函数调用。但是,为了将SPIDER猴子嵌入到自己的C++应用程序中,JS Shell没有提供特殊的API。它只是另一个控制台应用程序,使用spidermonkey公开的JSAPI

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