VC++动态链接库(DLL)编程深入浅出

需积分: 10 0 下载量 106 浏览量 更新于2024-07-28 收藏 673KB PDF 举报
VC++动态链接库(DLL)编程深入浅出 概论: 动态链接库(DLL)是提供给开发者可以直接使用的变量、函数或类的仓库。从发展史上看,DLL经历了“无库-静态链接库-动态链接库”的时代。静态链接库和动态链接库都是共享代码的方式,但静态链接库将lib中的指令直接包含在最终生成的EXE文件中,而动态链接库则不必被包含在最终EXE文件中,可以“动态”地引用和卸载这个与EXE独立的DLL文件。 静态链接库和动态链接库的区别: 静态链接库中不能再包含其他的动态链接库或者静态库,而动态链接库中可以再包含其他的动态或静态链接库。 动态链接库的概念: (1)DLL的编制与具体的编程语言及编译器无关,只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调用。 (2)动态链接库随处可见,例如Windows提供的系统DLL(其中包括了Windows的API),在任何开发环境中都能被调用,不在乎其是VisualBasic、VisualC++还是Delphi。 (3)VC动态链接库的分类: VisualC++支持三种DLL,它们分别是Non-MFCDLL(非MFC动态库)、MFC RegularDLL(MFC规则DLL)、MFCExtensionDLL(MFC扩展DLL)。 Non-MFCDLL(非MFC动态库)不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC或MFC编写的应用程序所调用。 MFC RegularDLL(MFC规则DLL)包含一个继承自CWinApp的类,但其无消息循环。 MFCExtensionDLL(MFC扩展DLL)采用MFC的动态链接版本创建。 DLL的优点: (1)节省资源:DLL可以被多个应用程序共享,从而节省了资源。 (2)提高开发效率:使用DLL可以使开发者专注于自己的应用程序,而不需要关心底层的实现细节。 (3)提高应用程序的可扩展性:DLL可以随时更新和维护,而不需要重新编译整个应用程序。 (4)提高应用程序的可移植性:DLL可以在不同的操作系统和开发环境中使用,从而提高了应用程序的可移植性。 DLL是VC++编程中非常重要的一部分,深入理解DLL可以提高开发者的编程效率和应用程序的质量。