C++ 如何将大型MFC项目拆分为较小的项目

C++ 如何将大型MFC项目拆分为较小的项目,c++,visual-studio,mfc,split,project,C++,Visual Studio,Mfc,Split,Project,我们有一个大型MFC/C++Visual Studio 2005解决方案,目前由两个项目组成: 代码(大约1500.h/.cpp文件,动态链接到MFC) 资源DLL(我们使用外部工具翻译资源) 我们有哪些选项(lib、dll等)? 我们从哪里开始? 是否有这方面的技术样本或教程(我找不到任何东西) PS:我们还没有使用C++/Visual Studio创建DLL和/或LIB的经验,因此欢迎提供任何入门技巧。MFC无论是否如此,您都必须从从从GUI处理程序提取业务逻辑开始。完成此操作后,您可以

我们有一个大型MFC/C++Visual Studio 2005解决方案,目前由两个项目组成:

  • 代码(大约1500.h/.cpp文件,动态链接到MFC)
  • 资源DLL(我们使用外部工具翻译资源)
我们有哪些选项(lib、dll等)? 我们从哪里开始? 是否有这方面的技术样本或教程(我找不到任何东西)


PS:我们还没有使用C++/Visual Studio创建DLL和/或LIB的经验,因此欢迎提供任何入门技巧。

MFC无论是否如此,您都必须从从从GUI处理程序提取业务逻辑开始。完成此操作后,您可以将它们放在alib中。

您可以使用以下方法删除所有资源DLL管理:该工具跟踪其项目文件中的所有翻译,并为您创建资源DLL。好处之一是您不必在Visual Studio中管理所有已翻译的.rc文件和关联的资源DLL项目


免责声明:我是appTranslator的作者。

这在很大程度上取决于代码库的质量。如果您拥有通过定义良好的接口进行交互的良好封装的类/组件,那么将这些类/组件划分到不同的项目中应该不难。 此外,在你开始之前,想想你想要实现什么。系统中是否存在要隔离的可重用组件或依赖于平台的组件?在我的部门,我们已经编写了一组Visual C++ 2005向导,确保所有新创建的项目符合某种目录结构和组织(例如,我们可以为我们的库自动创建单元测试项目)。我们还使用它们来确保可重用组件可以通过SVN外部包含,这确实节省了大量工作


所以,在您进一步研究之前,请确保您的需求是正确的。

显然,您的问题没有通用的答案

首先,您需要使用DLL或静态链接的LIB创建一些简单的程序(只是作为练习)。在您知道如何从头开始创建这样的应用程序之前,不建议尝试分割实际项目。 有两个MS教程,用于静态库和DLL

之后,您可以处理您的应用程序。 首先,试着理解项目的结构。理想情况下,您将能够了解GUI部分、业务逻辑和后端

最简单的通常是GUI(因为业务逻辑通常与后端交织在一起,我预测您将很难将这两者分开)。 将驱动GUI的所有文件(对话框、用户事件处理程序等)移动到单独的DLL中。 一旦GUI被分离,看看剩下的。根据我的经验,下一步要做的是分离实用程序,这些实用程序在应用程序中无处不在,但并不真正依赖于应用程序状态(或在每次调用时提供相关状态)。 在这样做的同时,你将学到很多关于项目其余部分的知识,希望能够进一步将其分割开来。 这个过程是渐进的,没有魔杖。对不起