概述

动态链接库(Dll)动态链接库(Dll)可以视为包含可直接使用的变量、函数或类的仓库。

仓库的发展史经历了"无库" —> "静态链接库" —> "动态链接库"。

静态链接库与动态链接库都能实现共享代码,如果使用静态链接库,编译后lib中的指令会被包含在生成的exe文件中,如果使用动态链接库,则不会被包含到EXE文件中,EXE文件执行时动态加载和卸载dll文件。

库的分类

1.win32库(非MFC)库

Win32库又分为:动态链接库和静态链接库

Win32库不采用MFC类库结构,导出函数为标准的C接口,可以被MFC或非MFC编写的应用程序调用。

2.MFC库

MFC库又分为:MFC规则DLL和MFC扩展DLL

MFC规则DLL:包含一个集成自CWinApp的类,但其无消息循环。

MFC扩展dll:采用MFC的动态链接库创建,它只能被MFC编写的应用程序调用。

创建MFC动态链接库

使用vs2010进行创建

1.“新建项目” 项目名为"wnMFCdll”—>选择"MFC dll" —>选择"MFC 扩展 DLL",点击完成:

创建头文件wnMFCdll.h,添加如下代码:

#ifndef_WNMFCDLL_H

源文件wnMFCdll.cpp 添加如下代码:

:定义DLL的初始化例程。

在wnMFCdll.def文件中添加如下内容:

;wnMFCdll.def:声明DLL的模块参数。

编译该项目,会在Debug目录下生成wnMFCdll.dll和wnMFCdll.lib两个文件

调用MFC动态链接库

鼠标在解决方案右击 —> "添加" —> "新建项目",项目名称为"wnMFCTest",选择win32控制台项目,勾选"控制台应用程序"和"MFC"

修改源文件wnMFCTe内容如下:

//wnMFCTe:定义控制台应用程序的入口点。

编译连接生成libTe文件,执行结果如下:

相关推荐