VC++ MFC DLL开发详解:类型与构建策略

需积分: 11 14 下载量 47 浏览量 更新于2024-12-02 收藏 90KB PDF 举报
本文主要探讨了在Visual C++(VC++)环境中结合Microsoft Foundation Classes (MFC)编写的DLL(动态链接库)的详细指南。VC++提供了两种类型的DLL:MFC扩展DLL和常规DLL。 首先,MFC扩展DLL允许开发者导出C++类给客户端程序,这些DLL可以直接使用MFC数据类型作为参数和返回值,支持类对象的创建和派生。这种类型的DLL与MFC紧密集成,由于MFC类库通常存储在另一个DLL中,客户程序必须与同一版本的MFC代码库进行动态链接,这就意味着MFC扩展DLL和客户端程序需要在拥有相应MFC代码库的系统上运行。 相比之下,常规DLL更适合创建更广泛使用的库,因为它不受MFC限制,可以与非MFC客户程序交互。然而,常规DLL无法直接传递指针或MFC派生类的对象引用,其接口必须保持在MFC之外。在常规DLL内部使用MFC,可以是动态链接或静态链接。动态链接意味着DLL依赖于外部MFC库,而静态链接则会使DLL体积增大,但可以在没有MFC库的机器上运行。 建立DLL的过程涉及配置项目设置,选择正确的出口函数和类,以及处理dllimport和dllexport关键字来控制哪些部分暴露给用户。在实际操作中,开发人员需要熟悉VC++的工具和选项,如Project Properties中的Export表单、Resource View的Resource Compiler和Linker选项等,确保正确编译和链接DLL。 本文提供了关于如何在VC++中结合MFC创建不同类型的DLL,以及如何在客户程序中有效使用这些DLL的重要步骤和技术细节,这对于理解和实现DLL编程至关重要。