|
ヘッダファイル()は、特にC言語やC++でのプログラミングで使われるファイルであり、一般にソースコード形式をしていて、コンパイラが別のソースファイルの一部として自動的に展開して使用する。一般にヘッダファイルは、ソースファイルの先頭部分に書かれたディレクティブによってインクルード(その場に内容を展開)される。インクルードファイル()とも。 ヘッダファイルには、サブルーチンや変数やその他の識別子の前方宣言が含まれていることが多い。複数のソースファイルで宣言する必要のある識別子を1つのヘッダファイルに置き、必要に応じて個々のソースファイルがそのヘッダファイルをインクルードする。 C言語やC++では、標準ライブラリ関数はヘッダファイルで宣言されている。詳しくは、標準Cライブラリと標準C++ライブラリを参照されたい。 == 背景 == 最近の多くのプログラミング言語では、プログラムはサブルーチンなどの小さなコンポーネントに分割されており、各サブルーチンは複数の物理的に分割されたファイルに配置され、個々にコンパイルされる。あるサブルーチンがそのファイル以外で定義された何かを使う場合、前方宣言や関数プロトタイプといった概念を導入する必要が生じる。例えば、あるソースファイルに次のように関数が定義されるとする。 この関数を別のソースファイルで参照するには、関数プロトタイプで宣言する必要がある。従って、次のようになる。 しかし、この単純な手法ではプログラマが add という関数の宣言を二箇所で管理しなければならなくなる。すなわち、実装が書かれたファイルとそれを使っているファイルである。その関数の定義が変更された場合、プログラマはプログラムのあちこちにある関数プロトタイプも全て更新しなければならない。ヘッダファイルはこの問題を解決するものである。モジュール化されたヘッダファイルでは、そのモジュールが外部に公開する個々の関数、オブジェクト、データ型などの宣言をする。例えば、上記の例ではヘッダファイルには add の宣言が含まれるだろう。add を使っている各ソースファイルでは、そのヘッダファイルを #include ディレクティブを使って導入する。これにより保守の負担が低減される。定義が変更された場合、ヘッダファイルにある宣言だけを更新すれば済む(変更内容によってはそれだけでは済まないこともある)。ヘッダファイルは、その中で宣言されたものの実体が定義されているソースファイルにもインクルードされることがある。これにより、コンパイラが定義と宣言が一貫しているかをチェックできる。 一般にヘッダファイルはインタフェースだけを提示するのに使われ、そこで宣言されたコンポーネントの使い方をある程度解説する文書を(コメントなどで)含んでいることが多い。上記の例では、サブルーチンの実装は別のソースファイルにあり、個別にコンパイルされる。C言語やC++における例外としてインライン関数がある。多くの実装ではインライン関数の展開はコンパイル時にその定義がないとできない実装になっていることが多いためである。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ヘッダファイル」の詳細全文を読む スポンサード リンク
|