html5中文学习网

您的位置: 首页 > 网站及特效实例 > jquery特效 » 正文

VC++动态链接库编程之MFC扩展 DLL_编程语言综合

[ ] 已经帮助:人解决问题

   MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MFC 动态链接库版本,因此只有用共享MFC 版本生成的MFC 可执行文件(应用程序或规则DLL)才能使用MFC扩展DLL。aVhHTML5中文学习网 - HTML5先行者学习网

  从前文可知,MFC规则DLL被MFC向导自动添加了一个CWinApp的对象,而MFC扩展DLL则不包含该对象,它只是被自动添加了DllMain 函数。对于MFC扩展DLL,开发人员必须在DLL的DllMain函数中添加初始化和结束代码。aVhHTML5中文学习网 - HTML5先行者学习网

  从下表我们可以看出三种DLL对DllMain入口函数的不同处理方式:aVhHTML5中文学习网 - HTML5先行者学习网

  DLL类型 入口函数aVhHTML5中文学习网 - HTML5先行者学习网

  非 MFC DLL 编程者提供DllMain函数aVhHTML5中文学习网 - HTML5先行者学习网

  MFC规则 DLL CWinApp对象的InitInstance 和 ExitInstanceaVhHTML5中文学习网 - HTML5先行者学习网

  MFC扩展 DLL MFC DLL向导生成DllMain 函数aVhHTML5中文学习网 - HTML5先行者学习网

  对于MFC扩展DLL,系统会自动在工程中添加如下表所示的宏,这些宏为DLL和应用程序的编写提供了方便。像AFX_EXT_CLASS、AFX_EXT_API、AFX_EXT_DATA这样的宏,在DLL和应用程序中将具有不同的定义,这取决于_AFXEXT宏是否被定义。这使得在DLL和应用程序中,使用统一的一个宏就可以表示出输出和输入的不同意思。在DLL中,表示输出(因为_AFXEXT被定义,通常是在编译器的标识参数中指定/D_AFXEXT);在应用程序中,则表示输入(_AFXEXT没有定义)。aVhHTML5中文学习网 - HTML5先行者学习网

VC++动态链接库编程之MFC扩展 DLL 三联
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助