如何在C#中使用C/C++寫的DLL。

如何在C#中使用C/C++寫的DLL。舉例說明:
建立VC工程DllDemo,建立的時候選擇MFC AppWizard(dll),選擇Regular Dll using shared MFC Dll或者MFC Extension Dll。
現在可以寫一個函數代碼,在DllDemo.cpp文件中添加這些代碼。也可以使用新的文件添加代碼;
extern “C“ __declspec(dllexport) int Add(int a,int b)
{
     AFX_MANAGE_STATE(AfxGetStaticModuleState());
     TRACE("Entering DllAdd/n");

     return a+b;
}

編譯工程。

下面建立一個C#的WinForm程序測試DllDemo:
啓動vs.net IDE,建立新的C#工程,選擇WinForm應用程序。
在Form1.cs中添加引用:using System.Runtime.InteropServices;
在pulic class Form1聲明的開頭添加代碼:
[DllImport("MotorControlDll.dll",EntryPoint="Add",ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)]
public static extern int Add(int a,int b);

至於DllImport屬性的用法可以察看MSDN,對於各項參數有詳細的說明。

最後還要記得將DllDemo生成的位於Debug文件中DllDemo.dll文件加入到C#的WinForm程序的bin目錄下。
這樣就可以直接使用Add(int a,int b)函數。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章