精品文档精品文档C#中如何调用动态链接库DLL动态链接库(也称为DLL,即为“DynamicLinkLibrary”的缩写)是MicrosoftWindows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现
动态链接库是不能直接执行的,也不能接收消息,它只是一个独立的文件,其中包含能被程序或其它DLL调用来完成一定操作的函数(方法
注:C#中一般称为“方法”),但这些函数不是执行程序本身的一部分,而是根据进程的需要按需载入,此时才能发挥作用
DLL只有在应用程序需要时才被系统加载到进程的虚拟空间中,成为调用进程的一部分,此时该DLL也只能被该进程的线程访问,它的句柄可以被调用进程所使用,而调用进程的句柄也可以被该DLL所使用
在内存中,一个DLL只有一个实例,且它的编制与具体的编程语言和编译器都没有关系,所以可以通过DLL来实现混合语言编程
DLL函数中的代码所创建的任何对象(包括变量)都归调用它的线程或进程所有
下面列出了当程序使用DLL时提供的一些优点:[1]1)使用较少的资源当多个程序使用同一个函数库时,DLL可以减少在磁盘和物理内存中加载的代码的重复量
这不仅可以大大影响在前台运行的程序,而且可以大大影响其他在Windows操作系统上运行的程序
2)推广模块式体系结构DLL有助于促进模块式程序的开发
这可以帮助您开发要求提供多个语言版本的大型程序或要求具有模块式体系结构的程序
模块式程序的一个示例是具有多个可以在运行时动态加载的模块的计帐程序
3)简化部署和安装当DLL中的函数需要更新或修复时,部署和安装DLL不要求重新建立程序与该DLL的链接
此外,如果多个程序使用同一个DLL,那么多个程序都将从该更新或修复中获益
当您使用定期更新或修复的第三方DLL时,此问题可能会