如何在C#中使用C/C++寫(xiě)的DLL。舉一個(gè)我做過(guò)的例子說(shuō)明:
建立VC工程DllDemo,建立的時(shí)候選擇MFC AppWizard(dll),選擇Regular Dll using shared MFC Dll或者M(jìn)FC Extension Dll。
現在可以寫(xiě)一個(gè)函數代碼,在DllDemo.cpp文件中添加這些代碼。也可以使用新的文件添加代碼;
extern “C“ __declspec(dllexport) int Add(int a,int b)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
TRACE("Entering DllAdd\n");
return a+b;
}
編譯工程。
下面建立一個(gè)C#的WinForm程序測試DllDemo:
啟動(dòng)vs.net IDE,建立新的C#工程,選擇WinForm應用程序。
在Form1.cs中添加引用:using System.Runtime.InteropServices;
在pulic class Form1聲明的開(kāi)頭添加代碼:
[DllImport("MotorControlDll.dll",EntryPoint="Add",ExactSpelling=false,CallingConvention=CallingConvention.Cdecl)]
public static extern int Add(int a,int b);
至于DllImport屬性的用法可以察看MSDN,對于各項參數有詳細的說(shuō)明。
最后還要記得將DllDemo生成的位于Debug文件中DllDemo.dll文件加入到C#的WinForm程序的bin目錄下。
這樣就可以直接使用Add(int a,int b)函數。
聯(lián)系客服