プリコンパイル済みヘッダーとは
多くの場合、C++ ソース ファイルには、外部ライブラリのヘッダーが含まれています。Windows では、 を含めますwindows.h
。これらのヘッダー ファイルは非常に大きくなる可能性があり、処理に時間がかかります。C++ ファイルをコンパイルするたびに、コンパイラはこれらのヘッダー ファイルから数千行を読み取って処理する必要があります。ただし、外部ライブラリは変更されないため、これらのファイルを一度処理して結果を保存するだけで、多くの時間を節約できます。
プリコンパイル済みヘッダーは、後でコンパイラーが何度も使用できる中間形式に処理された一連のヘッダー ファイルです。
Visual C++ のプリコンパイル済みヘッダー
Visual C++ では#include
、stdafx.h
. stdafx.pch
次に、コンパイル中にプリコンパイル済みヘッダーを作成するようにコンパイラーに指示しますstdafx.cpp
が、これは includeのみを行いますstdafx.h
。プリコンパイル済みヘッダーを別の.cpp
ファイルで使用する場合stdafx.h
は、最初のインクルード ファイルとしてインクルードし、プリコンパイル済みヘッダーに使用するようにコンパイラーに指示する必要stdafx.pch
があります。
インクルードしないというエラーが発生した場合はstdafx.h
、その特定のソース ファイルに対してプリコンパイル済みヘッダーを使用しないようにコンパイラに指示する必要があります。(または、 を含めることができますstdafx.h
。)
個々のソース ファイルのプリコンパイル済みヘッダー設定
Visual C++ では、プロジェクト全体および個々のファイルのコンパイラ設定を制御できます。個々のプロパティにアクセスするには、ソリューション エクスプローラーでソース ファイルを選択し、それを右クリックして、コンテキスト メニューから[プロパティ] を選択します。プリコンパイル済みヘッダーのオプションは、Configuration Properties => C/C++ => Precompiled Headersにあります。これらの設定を変更する場合、多くの場合、すべての構成 (例: DebugおよびRelease ) に対してそれを行いたいと思うでしょう。
プリコンパイル済みヘッダーを使用stdafx.pch
している場合、コンパイラーにプリコンパイル済みヘッダーを使用するように指示するプロジェクト全体の設定があります。にはstdafx.cpp
、コンパイラに を生成するように指示する個別の設定がありstdafx.pch
、含まれていないソース ファイルがある場合は、stdafx.h
プリコンパイル済みヘッダーを使用しないように個別の設定を設定できます。