概要

 VisualC++には「プリコンパイル済みヘッダー」という物があります。これは、滅多に変更されないヘッダーファイル(windows.hとか)を、あらかじめコンパイルしておく事でコンパイル時間を短縮させるギミックです。

 普通にウィザードを使ってプロジェクトを生成すると「stdafx.h」「stdafx.cpp」というファイルが勝手に生成されるのですが、これがプリコンパイル済みヘッダーファイルです。stdafx.cppはstdafx.hをインクルードする事しかしません。stdafx.hの方に、プリコンパイルさせたいヘッダーファイルをインクルードします。

 注意点としては、プリコンパイル済みヘッダーを使うと決めた(プロジェクトの設定でそう設定した)場合、すべてのcppファイル上でstdafx.hをインクルードしなければなりません。そうしないと「プリコンパイル済みヘッダーの検索中に予期しないEOFを検出しました」という(私にとっては意味不明な)エラーが出てコンパイルに失敗します。

 また、プロジェクトの設定で任意のファイルをプリコンパイル済みヘッダーファイルに設定する事もできます。stdafx.hという名前に特別な意味があるわけでは無いって事ですね(多分)。プリコンパイルされたヘッダーファイルは".pch(pre compile header)"という拡張子のついたファイル形式で格納されます。