7

プリコンパイル済みヘッダーとは正確には何ですか?それらはいつ使用されますか?

4

1 に答える 1

7

プリコンパイル済みヘッダーは、コンパイルプロセス中に使用される最適化です。

基本的に、まったく同じ定義と環境でのようなものをコンパイルする場合stdio.h、結果は毎回同じになると安全に想定できます。

したがって、コンパイラはそのヘッダーの「コンパイル済み」バージョンを記憶しているので、再度実行する必要はありません。

実際には、違いを生むのはヘッダーの最初のグループである傾向があるため、すべてのソースファイルが次のように始まる場合:

#define XYZZY 42
#include <stdio.h>
#include <stdlib.h>

最初のものは完全にコンパイルされますが、その3行目の直後の状態を記憶しています。次のものは、ファイルの残りのコンパイルを続行する前に、これらの3行を完全に破棄し、保存された状態をロードするだけです。

この機能を初めて見たのは、巨大な windows.hヘッダーファイルを備えたWindowsでしたが、私を信じて、全体的なビルド時間に大きな違いをもたらしました。

于 2011-02-10T06:52:57.943 に答える