多くの .cpp および .h ファイルで構成される C++ プログラムがあります。
プログラムの特定の機能のために一連の .cpp ファイルを取得し、その機能を別の .dll / dylib にコンパイルすることで、物理的な分離を導入したいと思います。
これを行うと、「メイン」アプリケーションで多くの (100 秒) 関数を呼び出すため、dylib はリンクしません。これを解決するためのオプションは何ですか? (プラットフォーム: OSX、Windows、Linux)
多くの .cpp および .h ファイルで構成される C++ プログラムがあります。
プログラムの特定の機能のために一連の .cpp ファイルを取得し、その機能を別の .dll / dylib にコンパイルすることで、物理的な分離を導入したいと思います。
これを行うと、「メイン」アプリケーションで多くの (100 秒) 関数を呼び出すため、dylib はリンクしません。これを解決するためのオプションは何ですか? (プラットフォーム: OSX、Windows、Linux)
この質問に対する簡単な答えはありません。大きな泥の塊を元に戻すことは、科学ではなく芸術です。私があなたの代わりに始める基本的なアプローチは、これらの数百の関数を含む 3 番目のコンポーネントを追加し、それをメイン アプリケーションと機能 dll の両方の依存関係にすることです。ただし、システムの本当に「リーフ」コンポーネントが何であるかを特定しようとすると、これはうさぎの穴になる可能性があります。
リファクタリングに関する Martin Fowler の情報には、多くの優れたリソースがあります。