C#中调用dll库(VC编写)
如何在C#中调用DLL(C/C++写的)。举一个我做过的例子说明:
建立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目录下。
相关推荐
jameszgw 2020-06-14
致终将努力的我们 2020-04-16
dfphoto 2020-10-16
zxznsjdsj 2020-05-17
stonerkuang 2020-03-27
airfling 2019-12-28
Dlanguage 2019-12-26
sunshineboyleng 2019-12-15
Bonrui编程路 2019-12-15
86206132 2019-11-04
TreasureZ 2019-11-04
dollybol 2019-08-07
WhatWhyHow 2015-10-06
lijinjinxuzhou 2015-10-06
守love唯诺 2012-07-06
slivelight 2011-05-26
lijinjinxuzhou 2011-05-26
Handsomefan 2011-06-24
旷野亮光 2012-12-11