4

ここにモノヌービー、

iPhoneとAndroid用に作成しているアプリケーションで既存のc++ライブラリを使用したいと思います。プラットフォームからプラットフォームへの変更が最小限になるように、Monoプロジェクトにバインドするための最良の戦略を見つけようとしています。

Webでそれについて読んでみたところ、CXXI、P / Invokeなどに出くわしましたが、これらの方法がすべてのプラットフォームで機能するかどうかを理解できませんでした。また、CXXIが十分に安定しているかどうか、またはMonoDroidとMonoTouchに適合するかどうかもわかりませんでした。

あなたの意見では、どの方法が最も便利で最もクロスプラットフォームですか?

4

1 に答える 1

5

現時点で最も簡単なアプローチは、 C ++ライブラリにCラッパーを記述してから、(新しい)CAPIのp/invokesを記述することです。このアプローチは、コアがC ++であるMoonlight(Silverlightのオープンソース実装)の開発に使用されましたが、すべてがCとして管理対象の世界に公開されていました。

一部のプラットフォームには特別な要件があります(たとえば、iOSでは静的ライブラリを構築する必要があります)が、それでも問題は解決しません。

あなたの最善の策は、Swigのようなツールで物事をバインドすることです

于 2012-04-20T19:27:53.460 に答える