在C#中调用VC编写的dll库

it2022-05-09  31

如何在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)函数。

转载于:https://www.cnblogs.com/tuyile006/archive/2006/11/23/569420.html

相关资源:c#调用VC编写的DLL 涉及到字符串 字符串数组用法

最新回复(0)