質問

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

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

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

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

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

役に立ちましたか?

解決

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

  1. C++\CLI - これにより、同じソース ファイル内にマネージ コードとアンマネージ コードの両方を含めることができます。その後、マネージド部分は C# コードを呼び出すことができます。
  2. COM 相互運用 - .NET 型を COM インターフェイスおよび一致するコクラスとして公開し、アンマネージ C++ から簡単に使用できます。

他のヒント

COM相互運用機能は、この問題にアプローチする一つの方法です。あなたがC ++アプリケーションに公開するC#のライブラリ関数(複数可)のためのCOM層を持っている必要があります。この( http://msdn.microsoft.com/en-us/ / aa302324.aspx#usingframeworktools_topic10 の)ライブラリは興味があるかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top