3

重複の可能性:
C# アプリケーションでの C++ クラス DLL の使用

c# で c++ dll を追加するための参照を追加しようとして失敗しました

C#でc ++ dllを追加または使用する他の方法がある場合。どのように使用できますか?

c# プロジェクトのどこに dll を追加するのを間違えますか?

前もって感謝します

4

2 に答える 2

4

C# でネイティブ C++ ライブラリを使用するには、ほとんどの場合、そのためのC++/CLIラッパーを作成する必要があります。P/Invoke は、DLL の API に単純な C に似た関数が含まれている限り問題ありませんが、API に実際の C++ クラスが含まれている場合は、そのタスクには C++/CLI の方がはるかに適しています。

于 2011-10-17T12:37:01.500 に答える
2

C++ ライブラリへの参照は追加しません。これは .NET アセンブリ専用です。必要なのは、P/Invoke を使用したプラットフォームの相互運用です。MSDN には、ここにたくさんの情報があります:-

http://msdn.microsoft.com/en-us/library/aa288468(VS.71).aspx

これは基本的に、外部ライブラリでエクスポートされた関数を呼び出すメソッド スタブを作成する必要があることを意味します。

C++ プロジェクトの設定によっては C++/CLI の方が適している方法もありますが、個人的には従来の Windows API 関数のエクスポート方法を好みます。

于 2011-10-17T12:35:02.597 に答える