⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 19.9 mfc dll.txt

📁 网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节都分了目录,清晰易读
💻 TXT
字号:
19.9 MFC DLL 
VC++集成开发工具还提供了一个向导: MFC AppWizard ( dll),它将帮助我们创建一个支持MFC类库的 DLL。在此向导中,增加了对MFC类库的支持。下面我们就利用该向导创建一个MFCDLL。
首先,在 VC++开发环境中,利用【File\New...】菜单项打开工程创建对话框,选择 Projects选项卡,然后选中 "MFC AppWizard (dll )"选项,并将新工程命名为"Dll4"。单击【OK】按钮后,进入如图 19.21所示的向导界面。
图 19.21创建MFCDLL的向导界面

该界面允许用户选择将要创建的DLL的类型,有以下三种可选类型: 
. Regular DLL with MFC statica11y linked 
创建一个常规的动态链接库,该DLL使用MFC的静态链接。关于静态库和动态库,前面的内容已经介绍了,如果采用静态库,在发布产品时,只需要提供实现的DLL即可。 
. Regular DLL using shared MFC DLL 
创建一个常规的动态链接库,该DLL使用共享的MFCDLL。如果选择此选项创建一
个常规的动态链接库的话,当发布该 DLL产品时,一定要确保用户机器上有 MFC动态链接库。如果用户机器上没有 MFCDLL.那么该 DLL将不能被加载。 
. MFC Extension DLL(using shared MFC DLL) 
创建一个扩展的 MFC DLL.该 DLL也是使用共享的 MFC DLL MFC扩展 DLL与 MFC常规 DLL之间的区别是:前者可以导出 MFC类,后者不能导出 MFC类,只能导出自己编写的 C++类。
编写支持 MFC的 DLL与前面编写 Win32DLL的方法是类似的,只是前者对 MFC提供了很好的支持。
另外,还有一点需要提醒读者,在访问 DLL的客户端程序中,如果对 DLL的访问已经完成,不再需要访问该 DLL时,应该调用 FreeLibrary函数释放该 DLL FreeLibrary函数主要是减少被加载的 DLL的引用计数。当此计数变为 0时,该 DLL模块将从调用进程的地址空间卸载。 FreeLibrary函数的函数原型声明如下所示: 
BOOL FreeLibrary ( HMODULE hModule) ; 
FreeLibrary函数有一个 HMODULE类型的参数,该参数指定将要释放的那个 DLL的模块句柄。调用 FreeLibrary函数后,该句柄不再有效。
也就是说,如果采用动态加载方式使用 DLL时,在需要访问时,调用 LoadLibary函数加载该 DLL:当不再需要访问该 DLL时,调用 FreeLibrary画数释放对该 DLL的引用。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -