Cpp プリコンパイル済ヘッダーファイル 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(プリコンパイル済ヘッダーファイル)
(プリコンパイル済ヘッダーファイル)
11行: 11行:
 
<br />
 
<br />
 
== '''プリコンパイル済ヘッダーファイル''' ==
 
== '''プリコンパイル済ヘッダーファイル''' ==
 プログラムは複数のファイルに分けて書くことができます。特にクラスを多用するC++では、ヘッダファイル部(関数の定義だけ)とプログラム部(定義された関数の実際の処理内容)とのペアが沢山出来上がります。大きなプロジェクトほどファイル数は膨大になり、50ファイル~500ファイル、あるいは5000ファイルとかもあり得ます。このメディアWikiのようなDBに記事内容を登録して、各ページごとにテキストを処理してHTMLとしての表示をするというプログラムでもファイルほどで構成されています。PHPという言語ですが…もっと複雑な処理を必要とするwindowsのようなGUIアプリケーションなら、販売向けプログラム製品では膨大なファイル数になることは容易に想像がつきます。ですが、毎回、全部のファイルをコンパイルしていたら、もの凄くコンパイル時間がかかって、1回のコンパイル・リンク処理で15分~1時間くらいかかって、とてもデバッグとかで繰り返し、試しに動かして見るということが出来ないです。そこで変更のないファイル部分にはプリコンパイルが済んだ分割されたプリコンパイルされたオブジェクトファイルを使うという選択が出来ます。もちろんプリコンパイルファイル自体もコンパイルによって生成されていないとダメなので、何度も変更するファイルはオブジェクトファイルとプリコンパイルファイルの両方を生成するので、余計に時間がかかります。そこで、#よく使う、#あまり変更する必要がなくなった。そのようなファイルだけを一度プリコンパイル済ファイルを作っておくということをします。そういった作業をするために1つのヘッダファイルに、プリコンパイルしたいヘッダファイル群を呼び出すように作成して、プリコンパイルします。
+
 プログラムは複数のファイルに分けて書くことができます。特にクラスを多用するC++では、ヘッダファイル部(関数の定義だけ)とプログラム部(定義された関数の実際の処理内容)とのペアが沢山出来上がります。大きなプロジェクトほどファイル数は膨大になり、50ファイル~500ファイル、あるいは5000ファイルとかもあり得ます。このメディアWikiのようなDBに記事内容を登録して、各ページごとにテキストを処理してHTMLとしての表示をするというプログラムでもファイルほどで構成されています。PHPという言語ですが…もっと複雑な処理を必要とするwindowsのようなGUIアプリケーションなら、販売向けプログラム製品では膨大なファイル数になることは容易に想像がつきます。ですが、毎回、全部のファイルをコンパイルしていたら、もの凄くコンパイル時間がかかって、1回のコンパイル・リンク処理で15分~1時間くらいかかって、とてもデバッグとかで繰り返し、試しに動かして見るということが出来ないです。そこで変更のないファイル部分にはプリコンパイルが済んだ分割されたプリコンパイルされたオブジェクトファイルを使うという選択が出来ます。もちろんプリコンパイルファイル自体もコンパイルによって生成されていないとダメなので、何度も変更するファイルはオブジェクトファイルとプリコンパイルファイルの両方を生成するので、余計に時間がかかります。そこで、#よく使う、#あまり変更する必要がなくなった、#規模が大きい。そのようなファイルだけを一度プリコンパイル済ファイルを作っておくということをします。そういった作業をするために1つのヘッダファイルに、プリコンパイルしたいヘッダファイル群を呼び出すように作成して、プリコンパイルします。
  
  
 少し前のVisualStudio2017あたりまでは新規プロジェクト作成をするウィザードでプログラミングを始めようとするとstdafx.hファイルが生成され、その中によく使うヘッダファイルであるstdio.hやwindows.hを呼び出していました。VisualStudio2019になるとpch.h(おそらくPre Compile Headerという意味の)ファイルが出来るだけで、その中のファイルは自分で作るという感じになります。
+
 少し前のVisualStudio2017あたりまでは新規プロジェクト作成をするウィザードでプログラミングを始めようとするとstdafx.hファイルが生成され、その中によく使うヘッダファイルであるstdio.hやwindows.hを呼び出していました。VisualStudio2019になるとpch.h(おそらくPre Compile Headerという意味の)ファイルが出来るだけで、その中のファイルは自分で作るという感じになりました。
 +
 
 +
=== '''使い方''' ===
 +
 
 +
 VisualStdio2019では、ウィザード形式を使わないプロジェクトテンプレートが多く、自分でpch.hファイルにあたるものを作るところから始まります。メニューの{プロジェクト}&gt;{新しい項目の追加}を選択して表示されるダイアログでファイルの種類にヘッダファイルを選択して、ファイル名欄にpch.hというような名前のヘッダファイルを作ります。もう一つ、ダミーとして、そのプログラムファイルを作ります。メニューの{プロジェクト}&gt;{新しい項目の追加}を選択して表示されるダイアログでファイルの種類にC++ファイルを選択してファイル名欄にpch.cppとしてファイルを作ります。pch.hに先ほどのべたようなプリコンパイルファイルにするべきヘッダをインクルードするように作り込みます。コンソールプログラムなら#incude <cstdio>をpch.hに入れてます。
 +
 
 +
 
 +
 次に
 +
 
 +
 プロジェクトの設定を変更するので、メニューの{プロジェクト}&gt;{プロパティ}を選択して表示されるダイアログで、左側のツリーから{C/C++}&gt;{プリコンパイル済ヘッダファイル}を選択して、

2020年7月15日 (水) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス