、Non-MFC DLL:指的是不用MFC的类库结构,直接用C语言写的DLL,其输出的函数一般用的是标准C接口,并能被非MFC或MFC编写的应用程序所调用。
b、Regular DLL:和下述的Extension Dlls一样,是用MFC类库编写的。明显的特点是在源文件里有一个继承CWinApp的类。其又可细分成静态连接到MFC和动态连接到MFC上的。
静态连接到MFC的动态连接库只被VC的专业般和企业版所支持。该类DLL应用程序里头的输出函数可以被任意Win32程序使用,包括使用MFC的应用程序。输入函数有如下形式:
extern "C " EXPORT YourExportedFunction( );
如果没有extern “C”修饰,输出函数仅仅能从C++代码中调用。
DLL应用程序从CWinApp派生,但没有消息循环。
动态链接到MFC的规则DLL应用程序里头的输出函数可以被任意Win32程序使用,包括使用MFC的应用程序。但是,所有从DLL输出的函数应该以如下语句开始:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ))
此语句用来正确地切换MFC模块状态。
Regular DLL能够被所有支持DLL技术的语言所编写的应用程序所调用。在这种动态连接库中,它必须有一个从CWinApp继承下来的类,DllMain函数被MFC所提供,不用自己显式的写出来。
c、Extension DLL:用来实现从MFC所继承下来的类的重新利用,也就是说,用这种类型的动态连接库,可以用来输出一个从MFC所继承下来的类。它输出的函数仅可以被使用MFC且动态链接到MFC的应用程序使用。可以从MFC继承你所想要的、更适于你自己用的类,并把它提供给你的应用程序。你也可随意的给你的应用程序提供MFC或MFC继承类的对象指针。Extension DLL使用MFC的动态连接版本所创建的,并且它只被用MFC类库所编写的应用程序所调用。Extension DLLs 和Regular
DLLs不一样,它没有一个从CWinApp继承而来的类的对象,所以,你必须为自己DllMain函数添加初始化代码和结束代码。
和规则DLL相比,有以下不同:
1、它没有一个从CWinApp派生的对象;
2、它必须有一个DllMain函数;
3、DllMain调用AfxInitExtensionModule函数,必须检查该函数的返回值,如果返回0,DllMmain也返回0;
4、如果它希望输出CRuntimeClass类型的对象或者资源(Resources),则需要提供一个初始化函数来创建一个CDynLinkLibrary对象。并且,有必要把初始化函数输出;
5、使用扩展DLL的MFC应用程序必须有一个从CWinApp派生的类,而且,一般在InitInstance里调用扩展DLL的初始化函数。
分享到:
相关推荐
MFC规则DLL例子源码,VC6.0平台开发,亲自调试完成
MFC 规则DLL 添加自定义的 DLLMAIN() 函数!(Vc6.0 与 Vc8.0 同样适用) 这也是我自己一直困扰了好久的问题,本来编程水平就不高,总想借助MFC的类库编写程序,方便不少啊!但是MFC规则DLL中却不提供DLLMAIN()函数...
【win32静lib/动态库DLL+MFC扩展DLL+Regular_DLL】完整实例代码 各种导出,各种调用,说明详细。
本资源包含一个doc--详细地讲述MFC规则DLL的创建与使用技巧。并附带三个例子的源码。通过本资源学习DLL,举一反三就能很好的掌握DLL的创建和使用了……O(∩_∩)O~ Regular DLL能够被所有支持DLL技术的语言所编写的...
Visual C++支持三种DLL,它们分别是Non-MFC DLL(非MFC动态库)、MFC Regular DLL(MFC规则DLL)、MFC Extension DLL(MFC扩展DLL)。 非MFC动态库不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC或MFC...
1.4.3 友元函数 1.4.4 嵌套类 1.4.5 静态成员变量 1.4.6 查看导出 1.5 导入类 1.5.1 内联成员函数 第 2 章 MFC Regular DLL 2.1 三种 DLL 2.1.1 non-MFC Win32 DLL 2.1.2 MFC Regular DLL 2.1.3 MFC Extension DLL ...
一 链接库概述 二 静态链接库 三 库的调试与查看 四 一个简单的DLL 非MFC动态库 五 MFC规则DLL Regular 六 MFC扩展DLL的创建 七 让EXE导出函数及DLL木马
该资料是开发人员了解正则表达式的必读,讲述了正则表达式的基础,以及在各种不同语言中的应用实例
1,01.zip Dialogs in DLL 在DLL中实现对话框(5KB)<END><br>2,02.zip Export dialogs in MFC Extension DLLs 在MFC扩充DLL中输出对话框(12KB)<END><br>3,03.zip Remapping resource script ID's ...
NotoSansSC-Regular.otf
bootstrap 图标显示需要的5个字体文件glyphicons-halflings-regular @font-face { font-family: 'Glyphicons Halflings'; src: url('../common/css/fonts/glyphicons-halflings-regular.eot'); src: url('../...
//纳税号 +(BOOL)validateTaxNumber:(NSString *)code; ...+(BOOL)validateBankCode:(NSString *)code; //手机号判断 +(BOOL)validateMobileNH:(NSString *)mobile;...+(BOOL)validateMobile:(NSString *)mobile;...
Microsoft.powershell.commands.management.dll help.xml Microsoft.powershell.commands.utility.dll Microsoft.powershell.commands.utility.dll help.xml Microsoft.powershell.consolehost.dll Microsoft....
helvetiker_regular.typeface.js
NotoSansCJK-Regular.ttc字体文件 安装python PIL模块必备文件
Visual C++MFC入门教程 目录 +-- 第一章 VC入门 |------ 1.1 如何学好VC |------ 1.2 理解Windows消息机制 |------ 1.3 利用Visual C++/MFC开发Windows程序的优势 |------ 1.4 利用MFC进行开发的通用方法介绍 |----...
Wrox.Beginning.Regular.Expressions.Feb.2005.rar
Oracle.Regular.Expressions.Pocket.Reference
MyriadPro Regular.otf