2

私は Linux C++ 開発者であり、C# アプリケーションで使用される Windows 用の C++ dll を作成する必要があります。

問題は、DLL を C# にインポートすることですが、その方法がわかりません。私の友人のプロジェクトでは、あらゆる種類の管理されていないdllが使用される可能性が高く、私はこれを担当しています:-D

すべてのオブジェクトと関数を DLL にインポートする必要がありますが、検索の結果、DllImport などしか見つかりませんでした。

助けてくれてどうもありがとう。

4

5 に答える 5

2

アンマネージ C++ のラッパーとして C++/CLI を使用できます。C++/CLI とその機能の詳細については、このリンクを使用できます。

http://www.functionx.com/cppcli

これでサクサク見れます

http://www.codeproject.com/Articles/19354/Quick-C-CLI-Learn-C-CLI-in-less-than-10-minutes#A8

于 2012-04-17T05:11:58.827 に答える
0

あなたが欲しいDllImport

ここにはたくさんの情報があります:-

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

グーグル全体でさらに多くの、そしてDllImportに関連する多くのスタックオーバーフローの質問

于 2012-04-17T04:22:05.427 に答える
0

これには多くの方法があります。C# が直接「対話」できるインターフェイスを配置する CLR dll を C++ で作成できます。これは、ネイティブ C++ をそのまま維持し、すべてのコードを CLR ベースにする必要がないため、優れたオプションです。

C++/CLI を検索する

dllimport とその仲間を使用して、標準の dll を作成することもできます。

于 2012-04-17T04:25:22.937 に答える
0

Dll を C++ で (ポートを VS.NET で再コンパイルして) ​​保持することを C# ポートよりも簡単にすることを考えたことはありますか?

LabVIEW(Windows7)とWinforms C#.NET applを許可するために、過去に共有メモリDLLを作成しました。この dll を介してデータ ストレージを共有します。

于 2012-04-17T04:30:03.183 に答える
0

このチュートリアルを見てください。目的を達成するための 2 つの方法を示します。C++ クラスをマーシャリングする方法

于 2012-04-17T05:18:55.420 に答える