0

C++ クラス (共有ライブラリとしてパック) を JavaScript の魔法の世界に公開する必要があります。

最も明白な解決策は、Node.js/v8 を使用することです。問題は、PowerPC で実行する必要があることです (これについてはコメントしないでください...)。- v8 は PowerPC では動作しません ( v8-powerpcプロジェクトは終了しているようです)。

他に実行可能な解決策があるかどうかを理解しようとしていますが、現時点では次のような可能性があります。

  1. emscripten、LLVM ビットコードを JavaScript に変換します。
  2. WebKit のJavaScriptCore、動作するかどうかはわかりません (とにかく PowerPC に WebKit をインストールします)

私は JavaScript の専門家ではなく、実際にはかなり迷っているので、次の質問をします。

  1. emscripten は有効なソリューションですか? (使ったことありますか?)
  2. JavaScriptCore を使用して C++ を JavaScript に公開する方法に関するドキュメントを教えてもらえますか?
  3. 他に選択肢はありますか、および/またはどれを採用しますか?

どうもありがとう、

リッペル

4

4 に答える 4

1

Qt には、powerpc 上で動作する Webkit のポートがあり、C++ コードを呼び出すことができる JavaScript エンジンがあります。

Qt: アプリケーションをスクリプト可能にする

于 2012-06-22T14:24:32.437 に答える
0

JavaScriptCore にはJSObjectMakeFunctionWithCallback()があります。ただし、これには、引数を変換して例外を出力するための多くの定型コードが潜在的に含まれているようです。

于 2012-07-20T19:49:41.200 に答える
0

Emscriptenを使用できます。そして、私はそれを使用し、使用しています。問題は次のとおりです。

  • JS/C コミュニティは、 Emscriptenについて疑わしい/さまざまな IMO のようなものであるため、そこではあまりサポートが得られない可能性があります (通常、#emscripten IRC チャネルは非常に役立ちます)。
  • Emscriptenはコードをかなり簡単に/うまくコンパイルしますが、実用的なソリューションを得るには C を十分に理解している必要があります。JavaScript エンジンが期待どおりに動作するようにするには、おそらくコードの特定の部分を書き直す必要があります (main_loop、コールバックなどの使用など)。
  • Node.jsを使用して、同期ファイル API を使用することもできます ( http://nodejs.org/api/fs.html参照)。ブラウザの使用のために、今すぐ。
于 2012-07-02T12:56:03.100 に答える