1

VS2010 を使用して C# (または C++) コンソール アプリに Spidermonkey エンジン呼び出しを埋め込みたいので、C# コードから JavaScript 関数に値を送信して結果を取得できますが、どこからどのように開始すればよいかわかりません。 .

これまでのところ、spidermonkey のソース コードをダウンロードし、mozilla ビルド ツールを使用してコンパイルしました。これで、js シェルを起動し、.js ファイルをロードし、その中で JavaScript 関数を実行して、正しい結果を得ることができます。VS2010 で win32 C++ コンソール アプリを作成し、dist/include フォルダーからプロジェクトに js.lib とヘッダー ファイルを追加しました。 . 簡単なで起動してみましたが、実際にはエラーなしでビルドされますが(試行からわずか3日後)、実行時にシステムエラーがスローされます-「js.exeがコンピューターにないため起動できません。」

4

1 に答える 1

1

Spidermonkey を独自の C++ アプリケーションに組み込みたい場合は、spidermonkey を静的ライブラリまたは DLL ライブラリとして扱い、それを独自のコードにリンクする必要があります。

私の意見では、spidermonkey ビルドをテストするか、スタンドアロン シェルでいくつかの Javascript スクリプトをテスト実行する場合を除いて、js シェルを気にしないことをお勧めします。また、js シェルのソース コードを調べて、JSAPI 関数呼び出しを適切に使用する方法を理解することもできます。しかし、spidermonkey を独自の C++ アプリケーションに埋め込むために、js シェルは特別な API を提供しません。これは、spidermonkey によって公開された JSAPI を使用する単なる別のコンソール アプリケーションです。

ビルド ディレクトリの jsapi.h を確認してください。これらは、独自のアプリケーションで使用する関数呼び出しです。特に、Javascript 関数として公開されている JSNative 関数を多く作成するのが一般的だと思います。

于 2012-03-07T09:35:49.723 に答える