C++ プリコンパイル済みヘッダファイル 書いて覚えるための初心者自己中記事
複数のソースファイルで同じヘッダファイルをインクルードする状況で、
ソースファイルごとにそのヘッダファイルを解析するのが時間の無駄だそうです。
そんなときは、あらかじめそのヘッダファイルだけを先にコンパイルしてしまい、インクルードするときはコンパイル済みのデータを利用するのがいいらしい。
まず、沢山ヘッダファイルをインクルードしたヘッダファイルと用意
Pch.h
#ifndef PCH_H_ #define PCH_H_ #include <iostream> #include <fstream> #include <sstream> #include <iomanip> #include <algorithm> #include <numeric> #include <string> #include <vector> #include <list> #include <queue> #include <stack> #include <deque> #include <set> #include <map> #include <memory> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #endif
次にそれをインクルードしたソースファイルを用意
Pch.cpp
#include "Pch.h"
そしたら、visual studioの場合は、プロジェクトのプロパティで
すべての構成
プリコンパイル済みヘッダー
使用するに変更
この設定でプロジェクト内のソースファイルはプリコンパイルヘッダーを使うということになる。
でコンパイル済みヘッダーファイルの欄に
Pch.h
を登録
そのあとで、今度はPch.cppファイルのプロパティでさっきのプロジェクトプロパティと同じ場所を見る。
これもすべての構成で。
そしてここでは使用する→作成するに変更
設定完了。
あとはすべてのソースファイルでPch.h をインクルードすればいいらしい。
ちょっと意味が分からないけど、エラーにはならないな。
ビルド出力も変わった様子はない・・・。
とりあえずここまで。