我有一个由许多 .cpp 和 .h 文件组成的 c++ 程序。
我想通过为程序的某个功能获取一堆 .cpp 文件来引入一些物理解耦,并将该功能编译成单独的 .dll / dylib。
这样做时,dylib 不会链接,因为它在“主”应用程序中调用了许多(100s)函数。我有什么选择来解决这个问题?(平台:osx、windows和linux)
我有一个由许多 .cpp 和 .h 文件组成的 c++ 程序。
我想通过为程序的某个功能获取一堆 .cpp 文件来引入一些物理解耦,并将该功能编译成单独的 .dll / dylib。
这样做时,dylib 不会链接,因为它在“主”应用程序中调用了许多(100s)函数。我有什么选择来解决这个问题?(平台:osx、windows和linux)
这个问题没有简单的答案。解开一个大泥球是一门艺术而不是一门科学。我将从您的位置开始的基本方法是添加第三个组件,其中包含这 100 个函数,并使其成为主应用程序和功能 dll 的依赖项。然而,当您尝试识别系统的真正“叶子”组件时,这可能是一个兔子洞。
Martin Fowler 关于重构的信息有很多很好的资源。