1. 静态链接库与动态链接库概念:
静态链接库与动态链接库都是共享代码的方式。
静态链接库就是我们所使用的*.lib文件,当编译器进行静态链接时,将从lib库中复制所需的函数和数据,因此采用静态链接的可执行文件会比较大。
动态链接库就是我们所使用的*.dll文件,在可执行文件中可以动态的加载和卸载dll文件,因此在编译链接的时候不必加载dll文件中的内容。
2. 使用动态链接库的好处:
- 多个应用程序可同时使用同一个动态链接库,达到共享代码和数据的作用。
- 可以使用动态链接库来实现不同模块的功能,实现分工和合作。
- 在钩子程序过滤系统消息时必须使用动态连接库。
- DLL 的编制与具体的编程语言及编译器无关。
。。。
3. VC 动态链接库的分类:
Visual C++支持三种DLL,它们分别是Non-MFC DLL(非MFC动态库)、MFC Regular DLL(MFC规则DLL)、MFC Extension DLL(MFC扩展DLL)。
- 非MFC动态库不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC或MFC编写的应用程序所调用;
- MFC规则DLL 包含一个继承自CWinApp的类,但其无消息循环;
- MFC扩展DLL采用MFC的动态链接版本创建,它只能被用MFC类库所编写的应用程序所调用。