2012-03-07 15 views
3

私のアプリケーションでC++とC#の両方を使いたいです。C++とC#の間の通信?

GUIデザインとC++処理用のC#。

しかし、これに関する知識はありません。どのようにそれらの間で通信する。

どこから始めて研究しなければならないのか分かりません。

誰かがこの技術の概要を教えていただけますか?誰かがこのトピックに関する文書を持っているなら、それを私に渡してください。

開発用にVisual Studio 2010を使用しています。

多くのおかげで、

T & TGroup

+1

ここでは、c#でC++ライブラリを使用する方法の例を示します。 http://www.functionx.com/csharp2/libraries/cppcli.htm – v01d

+3

重複していますか? http://stackoverflow.com/questions/574801/call-c-library-in-c-sharp – Guillaume

+0

彼らは非常に便利です、私はそれらを読むでしょう。皆さんありがとう。 – TTGroup

答えて

2

は、それはあなたのアプリケーションのアーキテクチャがどうあるべきかに依存して、あなたは、例えばGUIでコアと別の2つの異なるアプリケーションを作成することができますし、メッセージングを通じて通信する。

Windowsでは、たとえば、Windows message queueを使用して、2つのエンドポイントを互いに通信させることができます。

4

あなたが探している技術は、.NETコードとの対話を可能にするC++用の独自言語拡張言語であるC++/CLIです。

基本的な考え方は次のとおりです。ポータブルISO C++で、これまでと同じようにC++ライブラリを作成します。次に、C#(またはその他の.Net言語)から呼び出すC++コンポーネント用のC++/CLIにシンラッパーを追加します。 C++/CLIは.Netとの対話のためのコードを記述することのみを意図していることに注意してください。 CLIでも実装を書くのは避けてください。移植性がなく、純粋なC++バージョンよりもメンテナンスが難しいコードになるでしょう。

1

C++ CLIまたはネイティブC++を使用できます。 C++ CLIは管理されたコードで、ネイティブのC++はCLRによって管理されません。 2つの選択肢は、あなたの使い方によって異なります。 C++ CLIには一定の制限があります。

1

それはアーキテクチャと要件にも完全に依存します。 C++(lib)で処理命令を記述すると、GUIで使用することができます。 VS 2010でも簡単に行うことができます

関連する問題