2011-12-15 12 views
1

私は現在、C++/CLIプロジェクトを使用してネイティブC++ライブラリと通信する.NETのプロジェクトに取り組んでいます。しかし、このプロジェクトを進めていくうちに、再利用性とスケーラビリティを維持しながら、ネイティブC++コードの特定のモジュールを、できるだけ余分な実装をすることなく公開することができれば幸いです。C++/CLI vs COM - どちらが良いですか?

私は両方の用途についていくつかの研究を行ってきましたが、この目的を解決するにはどちらの方が効果的かは分かりません。誰かがこのシナリオに最も適しているアプローチがあれば説明することができますか?

+1

以前はCOMサーバーを作成したことがないようです。 1つ書いて、それからあなたは知っているでしょう。 ATLとVisual Studioに組み込まれたウィザードを使用して、戦闘の機会を得る。 –

+1

C++ Cliは間違いなく勝者です。 –

+0

別のオプションは、クロスプラットフォームを維持したい場合はC++/C#とSWIGです –

答えて

2

.NET用のネイティブC++コードをラップする場合は、C++/CLIを使用します。シンプルなCスタイルのAPIでは、PInvokeを使用することができます。

.NETとCOMクライアント(Internet Explorer、MS Office、スクリプト言語など)の両方でネイティブC++コードをラップする場合は、COMを使用します。

私の意見では、COMラッパーを書くことはもっと複雑な作業です。しかし、COMの教祖は別の意見を持つことができます - それはあなたのこれらの技術の経験に依存します。

+0

C++/CLIとCOM間のパフォーマンスですか? –

関連する問題