2012-08-27 43 views
0

我有一个C++程序,它由许多.cpp文件组成。将一个大的C++程序拆分成几个组件

我想介绍一些物理解耦方法,通过为程序的某个功能获取一堆.cpp文件,然后将该功能编译为单独的.dll/dylib文件。

当这样做时,dylib将不会链接,因为它调用“主”应用程序中的许多(100s)功能。我有什么选择来解决这个问题? (平台:osx,windows和linux)

回答

4

这个问题没有简单的答案。撤消big ball of mud是一门艺术,不是科学。我将从你的位置开始的基本方法是添加第三个组件,其中包括那些100个函数,并使其成为主应用程序和功能dll的依赖关系。这可能是一个兔子洞,然而当你试图确定什么是真正的系统的“叶子”组件。

Martin Fowler's info on refactoring有很多很好的资源。

相关问题