2012-02-23 4 views
0

VS20010を使用してC#(またはC++)コンソールアプリケーションにspidermonkeyエンジン呼び出しを埋め込みたいので、C#コードからjavascript関数結果を取り戻すことができますが、どこからどのように開始するのかはわかりません。Spidermonkey - C#またはC++(VIsual Studio 2010)からjavascript関数を呼び出します。

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

答えて

1

独自のC++アプリケーションにspidermonkeyを埋め込みたい場合は、スパイダートンキーを静的ライブラリまたはDLLライブラリとして扱い、独自のコードにリンクするだけです。

私の意見では、あなたのスパイダーモンキーのテストやスタンドアロンシェルでのJavascriptスクリプトのテストを除いて、jsシェルを気にすることはお勧めしません。 jsシェルのソースコードを調べて、JSAPI関数呼び出しを適切に使用する方法を知ることもできます。しかし、spidermonkeyを独自のC++アプリケーションに組み込むために、jsシェルに特別なAPIはありません。これは、spidermonkeyによって公開されたJSAPIを使用する別のコンソールアプリケーションです。

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

関連する問題