次の方法で共有


ビルド プロセスでの PCH ファイル

ソフトウェア プロジェクトのコード ベースは、複数の C または C++ ソース ファイル、オブジェクト ファイル、ライブラリ、およびヘッダー ファイルに入っています。通常、これらの要素の組み合わせは、メイクファイルが実行可能ファイルに合わせて調整します。次の図は、プリコンパイル済みヘッダー ファイルを使用するメイクファイルの構造を示します。この図で示されている NMAKE マクロの名前とファイル名は、「PCH のサンプル メイクファイル」および「PCH のサンプル コード」のサンプル コードで使われている名前に対応しています。

図では、3 つの要素を使用してビルド プロセスの流れを示しています。名前の入った長方形は、それぞれのファイルまたはマクロを表しています。3 つのマクロが 1 つ以上のファイルを表します。網かけした部分は、コンパイル動作またはリンク動作を表しています。矢印は、コンパイル プロセスまたはリンク プロセスでどのファイルとマクロが組み合わされるかを示しています。

プリコンパイル済みヘッダー ファイルを使用するメイクファイルの構造

プリコンパイル済みヘッダー ファイルを使用するメイクファイル

一番上にある STABLEHDRS および BOUNDRY は、NMAKE マクロです。この 2 つのマクロには、再コンパイルの必要がほとんどないファイルを指定します。これらのファイルは、プリコンパイル済みヘッダー ファイル (STABLE.pch) が存在しないか、この 2 つのマクロで指定されたファイルに変更がある場合にだけ、次のコマンド文字列を使ってコンパイルされます。

CL /c /W3 /Yc$(BOUNDRY) applib.cpp myapp.cpp

いずれの場合でも、プリコンパイル済みヘッダー ファイルには、STABLEHDRS マクロに指定されたファイルに入っているコードだけが取り込まれます。BOUNDRY マクロには、プリコンパイルする最後のファイルを指定します。

これらのマクロに指定できるファイルは、ヘッダー ファイルまたは C や C++ ソース ファイルです。単一の .pch ファイルに、C と C++ の両モジュールを入れることはできません。hdrstop マクロを使用すると、BOUNDRY ファイル内のある地点でプリコンパイルを中止できます。マクロの詳細については、hdrstop の説明を参照してください。

図の APPLIB.obj は、最終バージョンのアプリケーションで使用されるサポート コードを表しています。このファイルは、APPLIB.cpp、UNSTABLEHDRS マクロに指定されたファイル、およびプリコンパイル済みヘッダーに入っているプリコンパイル済みコードから作成されます。

MYAPP.obj は、最終バージョンのアプリケーションを表しています。このファイルは、MYAPP.cpp、UNSTABLEHDRS マクロに指定されたファイル、およびプリコンパイル済みヘッダーに入っているプリコンパイル済みコードから作成されます。

最後に、OBJS マクロ (APPLIB.obj と MYAPP.obj) に指定されたファイルをリンクして、実行可能ファイル (MYAPP.EXE) が作成されます。

図の詳細については、次の項目を参照してください。

参照

関連項目

プロジェクトでのプリコンパイル済みヘッダーの使用