web-dev-qa-db-ja.com

"pch.h"とは何ですか。また、最初のヘッダーファイルとしてインクルードする必要があるのはなぜですか。

#include "pch.h"
#include <stdio.h>
#include <string.h>

「pch.h」とは何ですか?最初のヘッダーファイルとして含める必要があるのはなぜですか?

19
Lee Tim Fu

pchプリコンパイル済みヘッダー を表します。

コンピュータープログラミングでは、プリコンパイル済みヘッダーは(CまたはC++)ヘッダーファイルで、コンパイラーの処理が高速な中間形式にコンパイルされます。プリコンパイル済みヘッダーを使用すると、特に大きなヘッダーファイル、他の多くのヘッダーファイルを含むヘッダーファイル、または多くの翻訳単位に含まれるヘッダーファイルに適用した場合、コンパイル時間が大幅に短縮される可能性があります。

コンパイル時間を短縮するために、一部のコンパイラーでは、ヘッダーファイルをコンパイラーが処理するのが高速な形式にコンパイルできます。この中間形式はプリコンパイル済みヘッダーと呼ばれ、通常は.pchなどの拡張子が付いたファイルに保持されます。たとえば、GNU Compiler Collection。

Visual Studioでは、プリコンパイル済みヘッダーの名前は通常「pch.h」(コンソールベースのアプリケーションの場合)ですが、別の名前を使用することも、まったく使用しないことも可能です。どのファイルがプリコンパイル済みヘッダーであるかは、プロジェクトの設定によって決まります。

プリコンパイル済みヘッダーファイルが "pch.h"で、コンパイルオプションが/Yuの場合、Visual Studioはソースファイルの#include "pch.h"の前に何もコンパイルしません。その行までのソース内のすべてのコードがすでにコンパイルされていると想定しています。

14
P.W