C#C ++の呼び出しエクスポート(のdllexport)メソッド

開発環境:

Visual Studioの2013 + win10

 

:C ++プロジェクトを作成します

VSでC ++プロジェクト(Win32プロジェクト)を構築し、チェックするために、それを注意することが必要です。

  アプリケーションの種類:Dllファイル

  追加オプション:エクスポートシンボル

コードにプロジェクトヘッダーファイルで:

1
2
3
#define WAOCVDLL_API __declspec(dllexport)
// 自定义方法
EXTERN_C WAOCVDLL_API  int  _stdcall Fit( int  width,  int  height, wchar_t*image,  float *firstPoint,  int  pointsLength);

このメソッドを実装し、CPPファイル:

1
2
3
4
WAOCVDLL_API  int  _stdcall Fit( int  imageWidth,  int  imageHeight, wchar_t*image,  float *firstPoint,  int  pointsLength)
{
// 实现代码
}

 PS:WAOCVDLL_API各プロジェクトが変化するので、

プロジェクトのプロパティを設定する必要性をコンパイルする前に:

C / C ++ - >詳細設定 - >コンパイルとして:C ++コードとしてコンパイル

PS:プラットフォームC ++プロジェクトの構造は一貫性があると(それがx64のx64、およびその逆の場合)プロジェクトを呼び出す必要があります。

OK、プロジェクトをビルドし、DLLを取得

2:コール・プロジェクトを確立する(C#のコンソール)

あなたが呼び出すときことに注意してください:

1
2
[DllImport( @"你的dll存放路径" , EntryPoint =  "C++中定义的方法名字" )]
extern  static  unsafe  int  Fit( int  width,  int  height,  char * image,  float * firstPoint,  int  pointsLength);

C#でその呼び出しアンマネージコードの後、ことに留意すべきです。

  1.プロジェクトのプロパティを設定します。危険なコードを許可します

  2.危険なコードブロックを追加します。

OK、実行するコンソールプロジェクトは、プロジェクトが実行されています!

おすすめ

転載: www.cnblogs.com/wwwbdabc/p/11652083.html