c++ - 在 C++ 中将实用程序 DLL 拆分为更小的组件

标签 c++ dll mfc

我们有一个 DLL 形式的核心库,供多个客户端应用程序使用。它变得有些臃肿,一些应用程序只需要此 DLL 提供的一小部分功能。所以现在我们正在考虑将这个庞然大物分成更小的组件。

我的问题是:任何人都可以推荐一种方法来将这个臃肿的 DLL 分成一组具有一些相互依赖性但不一定需要所有其他模块的模块吗?

以下是我看到的选项,但我希望有人可以提供其他可能性:

  1. 创建一个“核心”dll 和几个“卫星”dll,它们使用核心和可能的其他附属 DLL。
  2. 将臃肿的 DLL 的内容 segmentation 为主要 DLL 使用的静态库(以保持相同的功能),但不想使用臃肿版本的应用程序可以将他们需要的静态库组装到自己的 dll 中或应用程序本身。

我不太愿意提及这一点,但我认为注意到该应用程序使用 MFC 可能很重要。

谢谢你的想法。

最佳答案

与您的问题有点相关的是这个问题,关于将一个非常大的 C 模块拆分成较小的模块。

How do you introduce unit testing into a large, legacy (C/C++) codebase?

您的问题似乎与将一些大块代码分解为更加模块化的系统这一更大的问题有关。绝对推荐阅读上面的链接。

关于c++ - 在 C++ 中将实用程序 DLL 拆分为更小的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/752166/

相关文章:

c++ - 在 C++ 中创建一个只读文件

c++ - 在 C++ 中比较日期的方法是什么

c# - 编写非托管 C++ DLL 以在 C# 中使用

c++ - 返回类型的模板推导

dll - ILMerge & Keep 程序集名称

.net - 在node js中使用edge绑定(bind)DLL库不成功

c++ - 我可以使 GetOpenFileName 返回路径长于 MAX_PATH 吗?

c++ - 在 MFC 中管理字体、画笔和笔

C++ 访问 URL 的最快方法

c++ - 如何在c++的make文件中添加指令