0

外部アプリケーションで使用する必要があるメソッドを含む C# クラス ライブラリがあります。残念ながら、この外部アプリケーションは C/C++ の外部 API のみをサポートしています。

この C# ライブラリに、整数を取り double の配列を返す takeIntReturnDoubleArray メソッドがあるとします。必要なのは、整数を受け取り、C# ライブラリを呼び出し、呼び出し元のアプリケーションに double の配列を返す C++ メソッドを用意することだけです。

したがって、本質的に C++ ライブラリは、C# ラッパーと外部アプリケーションの間の仲介者として機能しているだけです。

これを行う簡単な方法はありますか?C++ に簡単にインポートできるようにするために、C# 側で何か特別なことをする必要がありますか? #import ステートメントを使用するという話を見たことがありますが、C++ に関しては自分が何をしているのか本当にわかりません。

ここで取るべきアプローチは何ですか?

4

2 に答える 2

4

ここには 2 つの主なオプションがあります。

  1. C++\CLI - これにより、マネージ コードとアンマネージ コードの両方を同じソース ファイルに含めることができます。その後、マネージ部分は C# コードを呼び出すことができます。
  2. COM Interop - アンマネージ C++ から簡単に使用できる COM インターフェイスおよび対応するコクラスとして、.NET 型を公開します。
于 2009-02-16T07:02:07.093 に答える
1

COM 相互運用は、この問題に対処する 1 つの方法です。C++ アプリケーションに公開する C# ライブラリ関数用の COM レイヤーが必要です。これ ( http://msdn.microsoft.com/en-us/library/aa302324.aspx#usingframeworktools_topic10 ) は興味深いかもしれません。

于 2009-02-16T07:01:51.090 に答える