1、C#工程调用外部的 DLL 文件 2011-09-13 22:46:55标签:C# DllImport 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http:/ 在.NET 编程中,我们会经常碰到要调用外部的 DLL文件。首先,动态链接库文件(DLL)的格式其实和 EXE文件相同,都是可执行的,不同的是 EXE可单独运行,而 DLL往往是供其他程序动态的调用,它不主动的执行任何代码。其次,链接库可分为两种:静态链接库和动态链接库。静态链接库是在程序编译的时候静态的链接到程序中去的,这样编译完后文件体积变大了。动态链接库是程序在运行的时
2、候动态的把 DLL中的函数链接到程序中执行,这样就不用在编译的时候链接文件了,因此节省了文件大小。在.NET 平台下 C#如何调用 DLL文件呢?首先我们构造一个自己的 DLL文件。假设,我们已经有一个.h 文件和.lib 文件。.h文件:int add(int x,int y);int minux(int x,int y);构造 DLL文件:1.新建一个 VC+ Class Library工程2.添加 2个头文件 math.h,imath.h和 cpp文件 imath.cppmath.h:int add(int x,int y);int minus(int x,int y);imath.h:
3、extern “C“_declspec(dllexport) int Add(int x,int y);_declspec(dllexport) int Minus(int x,int y);imath.cpp:int Add(int x,int y)return add(x,y);int Minus(int x,int y)return minus(x,y);编译生成 DLL文件 imath.dll3.在 C#工程中调用 imath.dll中的 Add,MinusC#调用外部 DLL文件,需要使用 using System.Runtime.InteropServices;导入命名空间接着定义要调用到的函数:DllImport(“imath.dll“,EntryPoint=“Add“)private static extern int Add(int x,int y);DllImport(“imath.dll“,EntryPoint=“Minus“)private static extern int Minus(int x,int y);至此以后就可以在需要调用 Add和 Minus的地方直接调用 Add和 Minus了。