0
我有一個C++程序,它由許多.cpp文件組成。將一個大的C++程序拆分成幾個組件
我想介紹一些物理解耦方法,通過爲程序的某個功能獲取一堆.cpp文件,然後將該功能編譯爲單獨的.dll/dylib文件。
當這樣做時,dylib將不會鏈接,因爲它調用「主」應用程序中的許多(100s)功能。我有什麼選擇來解決這個問題? (平臺:osx,windows和linux)
我有一個C++程序,它由許多.cpp文件組成。將一個大的C++程序拆分成幾個組件
我想介紹一些物理解耦方法,通過爲程序的某個功能獲取一堆.cpp文件,然後將該功能編譯爲單獨的.dll/dylib文件。
當這樣做時,dylib將不會鏈接,因爲它調用「主」應用程序中的許多(100s)功能。我有什麼選擇來解決這個問題? (平臺:osx,windows和linux)
這個問題沒有簡單的答案。撤消big ball of mud是一門藝術,不是科學。我將從你的位置開始的基本方法是添加第三個組件,其中包括那些100個函數,並使其成爲主應用程序和功能dll的依賴關係。這可能是一個兔子洞,然而當你試圖確定什麼是真正的系統的「葉子」組件。
Martin Fowler's info on refactoring有很多很好的資源。