GCC およびプリコンパイル済みヘッダー
プリコンパイル済みヘッダーは、共通ヘッダーの前処理された状態をシリアル化することで C コンパイルを最適化することを目的としています。ただし、実際のシナリオでこれらを使用すると、リビルドのトリガーに関する懸念が生じます。
プリコンパイル済みヘッダーをリビルドする場合
GCC では、最初にインクルードされる単一の共通ヘッダーが必要です。ソースファイル。後続の #define または header #include ディレクティブはプリコンパイルされません。したがって、次の場合には再構築が必要です。
プリコンパイルされたヘッダーのコーディング スタイル
これらの再構築の問題を回避するために、GCC は制限的なコーディング スタイルを推奨しています。
ただし、このスタイルは、現実世界のコーディング慣行と必ずしも一致するとは限りません。
GCC制限と複雑さ
GCC によるプリコンパイル済みヘッダーの処理には、Makefile での広範な手動構成が必要です。潜在的な落とし穴に完全に対処する、すぐに利用できるテンプレートはありません。たとえば、プリコンパイル済みヘッダーを使用して複数のライブラリが構築されている場合、変更されたヘッダーを検出して再構築するには、複雑なシェル スクリプトが必要です。
代替アプローチ
GCC の複雑さのためプリコンパイルされたヘッダーの実装では、次のような代替アプローチを検討することが望ましい場合があります。 as:
以上がGCC プリコンパイル済みヘッダーをいつ再構築する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。