増え続けるクラス/関数のライブラリを構築するとき、プロジェクトのすべての一般的なヘッダーファイルを#includeする一種の「傘」ヘッダーファイルをよく目にしました。例えば:
dsp.h
#include "file1.h"
#include "file2.h"
...
#include "filex.h"
すべてが必要な場合もありますが、機能/オプションの選択のみが必要な場合もあります。#include dsp.hであるが、たとえばfile2.hから何も使用しない場合、コンパイラーは知っていますか?ビルドで最適化することは可能ですか?
それ以外の場合、私の解決策は、オプションのコードをプリプロセッサディレクティブ内にラップしてから、必要なものを定義することです。おそらく、これはより安全で効率的なソリューションですか?