将一个大型c++程序拆分为几个组件

Splitting a large c++ program into several components

本文关键字:几个 组件 拆分 大型 一个 c++ 程序      更新时间:2023-10-16

我有一个c++程序,它由许多.cpp&组成。h文件。

我想通过为程序的某个功能获取一堆.cpp文件来引入一些物理解耦,并将该功能编译成一个单独的.dll/dylib。

执行此操作时,dylib不会链接,因为它调用"main"应用程序中的许多(100)函数。我有什么选择来解决这个问题?(平台:osx、windows和linux)

这个问题没有简单的答案。解开一个大泥团是一门艺术,而不是一门科学。我将从你的位置开始的基本方法是添加第三个组件,其中包括这100个函数,并使其成为主应用程序和功能dll的依赖项。然而,当你试图识别系统中真正的"叶子"组件时,这可能是一个兔子洞。

Martin Fowler关于重构的信息有很多好的资源。