C#中調(diào)用dll庫(VC編寫)
如何在C#中調(diào)用DLL(C/C++寫的)。舉一個我做過的例子說明:
建立VC工程DllDemo,建立的時候選擇MFC AppWizard(dll),選擇Regular Dll using shared MFC Dll或者M(jìn)FC Extension Dll。
現(xiàn)在可以寫一個函數(shù)代碼,在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應(yīng)用程序。
在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,對于各項(xiàng)參數(shù)有詳細(xì)的說明。
最后還要記得將DllDemo生成的位于Debug文件中DllDemo.dll文件加入到C#的WinForm程序的bin目錄下。
這樣就可以直接使用Add(int a,int b)函數(shù)。
這樣,就完成了C#中調(diào)用dll庫。
【編輯推薦】