代码之家  ›  专栏  ›  技术社区  ›  Karim

在C++中将实用DLL分割成更小的组件

  •  3
  • Karim  · 技术社区  · 17 年前

    我的问题是:有人能推荐一个路径来将这个臃肿的DLL划分为一组具有某些相互依赖性但不一定需要所有其他模块的模块吗?

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

    1. 将膨胀DLL的内容细分为主DLL使用的静态库(以维护相同的功能),但不希望使用膨胀版本的应用程序可以将所需的静态库组装到自己的DLL或应用程序本身中。

    谢谢你的想法。

    2 回复  |  直到 17 年前
        1
  •  2
  •   Community Mohan Dere    8 年前

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

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

    你的问题似乎涉及到一个更大的问题,就是把一些大的代码块分解成一个更模块化的系统。以上链接绝对是推荐阅读的。

        2
  •  1
  •   Tim    17 年前

    没有所有的细节,这是一个有点难帮助,但这里是我会做的在你的情况

    • 尝试从完全不同的客户机中收集哪些项目应该分组在一起,以提供合理的细分,而不需要有依赖关系层。

    在练习之后,您可能会发现一个大型dll实际上是合理的。

    另一个考虑因素是维护多个DLL以及静态LIB和DLL将极大地增加维护的复杂性。

    你是打算每次都一次性发布它们,还是将它们混搭在一起?这里要小心——要知道,您可能会产生测试问题

    如果没有人抱怨DLL的规模,那么你可能想考虑离开它。