动态链接库:
全称: Dynamic Linkable Library 简称: DLL
动态链接是一个经过编译后的二进制文件,扩展名 .dll
动态链接库不可单独运行,必须与调用者一起运行
动态链接库可向调用者提供变量,函数,类.
动态链接库的调用者可以是exe可执行文件,也可以是其它dll
动态链接库编译后会生成一个dll及一个lib文件,这个lib是导入库,而不是静态库
lib导入库中存放着dll文件中的导出函数名及地址
当应用程序采用隐式链接动态链接库时,会把导入库(lib)中的导出函数名与地址复制到应用程序中,
在应用程序运行时就能知道动态链接库中的导出函数名及地址
dll与语言无关,VB,VC,DELPHI,C++BUILDER开发的dll也可被支持dll的语言调用
dll库只在windows平台下生效.
动态链接库有哪些优点:
1.代码与数据共享
2.系统模块化开发
3.软件升级
4.保护软件技术
动态链接库分类:
1.基于MFC的DLL : 继承CWinApp ,无消息循环
2.基于WIN32的DLL (非MFC DLL) : 必须有DllMain函数,调用AfxInitExtensionModule初始化
如需要输出CRuntimeClass类对象或资源,需调用CDynLinkLibrary来初始化