現在、500 を超える個別の .cpp ファイルを含むC++ ライブラリを開発しています。これらはそれぞれコンパイルされ、静的ライブラリにアーカイブされます。並列ビルドの場合でも、これには数分かかります。このコンパイル時間を短縮したいと思います。
各ファイルは平均で 110 行で、1 つまたは 2 つの関数が含まれています。ただし、各 .cpp ファイルには対応する .h ヘッダーがあり、これらは多くの場合、多くの .cpp ファイルに含まれています。たとえば、、 、 などA.h
に含まれる場合があります。A.cpp
B.cpp
C.cpp
最初に、コンパイル プロセスのプロファイルを作成したいと思います。何をするのにどれくらいの時間が費やされているかを知る方法はありますか? インクルードガードをチェックしてファイルを無視するためだけにヘッダーファイルを開くのに多くの時間が浪費されているのではないかと心配しています。
そのようなことが原因である場合、コンパイル時間を短縮するためのベスト プラクティスは何ですか?
新しいグループ ヘッダーを追加するつもりはありますが、おそらくこの多数のファイルのレイアウトを変更するつもりはありません。これにより、ライブラリが必要に応じてヘッダーのみのライブラリとしても機能できるようになるからです。