2011-10-18 24 views
0

私のC++アプリケーションにC#.NET GUIを追加したいと思います。 私のC++アプリケーションは非常にシンプルですが、私はいくつかのポインタとリファレンスを持っています。C++アプリケーションに追加C#GUI

C#がこのポインタとリファレンスを認識するのに最適な方法は何ですか?

答えて

3

ここにはいくつかの方法があり、あなたの好みやプロジェクトによって異なります。

a)C++プロジェクトがCOMで記述されている場合は、COM相互運用機能を使用します。

b)COM相互運用機能を使用すると、COMラッパーをC++アプリケーションに記述してC#から使用できます。

c)C++/CLIを使用して、プロジェクトをマネージC++アプリケーションに変換し、C++コードを使用するマネージクラスをC++で作成します。 C++ dllまたは静的ライブラリをロードするマネージC++ dllを記述することもできます。

d)P INVOKE C呼び出しを使用し、C++クラスで動作するC++コードからDLL C関数をエクスポートし、[dllimport]属性を使用してC関数からC関数を呼び出します。 IntPtr型と、より安全で安全なSafeHandleを使用して、ポインタと参照を表現できます。

すべての方法には良いことと欠点がありますが、記載されているすべてのテクニックには「中間層」が必要です.C++から直接C++コードを呼び出すことはできません。

2

私が正しく理解しているのであれば、C++ベースのUIアプリケーションでC++プログラムで書かれた機能を使いたいと思っています。

これは、C++/CLIベースのdllを作成することで実行できます。 C++/CLIはC++コードを簡単に呼び出すことができ、C#は簡単にC++/CLIコードを呼び出すことができます。このようにして、C#で書かれた機能をC#ベースのプログラムで使用することができます。

すべての可能な方法を参照してください。this投稿

関連する問題