VS C++C#ハイブリッドプログラミング
1801 ワード
C++DLLの作成
32 bitと64 bitは互換性がありません
管理クラスでBitmapクラスを使用する場合は、参照を追加する必要があります.現在のプロジェクト->Add(追加)参照->Assemblies(プログラムセット)->Framework(フレームワーク)->Systemをチェックします.Drawingでは、管理C++でBitmapクラスを呼び出すことができます.
System::Drawing::Bitmap ^clrClass::getImage(double scale)
{
System::Drawing::Bitmap ^img = gcnew System::Drawing::Bitmap(5,5);
img->SetPixel(1,1, System::Drawing::Color::FromArgb(255,0,0));
return img;
}
C#で呼び出す
参照DLL:エンジニアリング->References->Add References->Browse->[Browse]->C++エンジニアリング生成DLLの追加
普通に使えばいいですが、典型的には以下のように使います.
clrClass cc = new clrClass();
// C#
注意:C++エンジニアリングのdllが他のdllを参照している場合は、二次参照のdllをbinフォルダの下の対応する位置に手動で追加する必要があります.
転載先:https://www.cnblogs.com/xbit/p/9597938.html