プリコンパイル済みヘッダーとは正確には何ですか?それらはいつ使用されますか?
1 に答える
7
プリコンパイル済みヘッダーは、コンパイルプロセス中に使用される最適化です。
基本的に、まったく同じ定義と環境でのようなものをコンパイルする場合stdio.h
、結果は毎回同じになると安全に想定できます。
したがって、コンパイラはそのヘッダーの「コンパイル済み」バージョンを記憶しているので、再度実行する必要はありません。
実際には、違いを生むのはヘッダーの最初のグループである傾向があるため、すべてのソースファイルが次のように始まる場合:
#define XYZZY 42
#include <stdio.h>
#include <stdlib.h>
最初のものは完全にコンパイルされますが、その3行目の直後の状態を記憶しています。次のものは、ファイルの残りのコンパイルを続行する前に、これらの3行を完全に破棄し、保存された状態をロードするだけです。
この機能を初めて見たのは、巨大な windows.h
ヘッダーファイルを備えたWindowsでしたが、私を信じて、全体的なビルド時間に大きな違いをもたらしました。
于 2011-02-10T06:52:57.943 に答える