include機能

プログラムを複数の手続きに分けて開発すると、同じ変数の宣言などが それぞれの手続きごとに出てくることがある。多くの場合、同じ名前の変数は 同じ型や値で使いたいのだが、別々に書いておくと、プログラムの修正の 過程で食い違ってしまうおそれがある。そこで、そういった宣言はプログラム 本体とは別に書いておき、コンパイル時に取りこんだほうがよいという考え方 が出てきた。特にC言語では、このような取り込みをしないとプログラムが 書けないことが多い。取り込まれるのを目的に用意されたプログラムの断片を ヘッダファイル(header file)という。他の言語ではこのような取り込み機能 が言語の標準として備わっているとは限らないが、それぞれのコンパイラが そういう機能を提供しているのがふつうである。

しかし、このような取り込み機能では、ヘッダファイルは取り込まれて はじめてプログラム言語の文法に合っているかどうかを検査されるので、 ヘッダファイルとプログラム本体の開発が独立にできない。 「モジュール化」の考えの進んだプログラム言語では、ソースプログラム での取り込みではなく、共通の変数などは別にモジュールとしてコンパイル しておき、プログラム本体からそのモジュールを参照する方式がよいとされる。 たとえば、Fortranの90年標準では、取り込み機能のINCLUDE文があるものの、 あまり勧められないとされ、モジュール機能が勧められている。

Pascal
Pascalの標準的文法では、分割コンパイルが想定されていないので、 取り込みについても標準は見当たらない。 ただし、DEC Pascalコンパイラでは、 C言語と同様な #include 文を利用可能である。

Fortran
77標準ではないが、DEC Fortranや、90標準では、 次のようなINCLUDE文がある。(文なので、7桁め以降から書き始める。)
       INCLUDE 'ファイル名'
ファイル名には、Cシェルの場合と違って、「~」による指定は使えない。
C
CでのINCLUDE文の文法は
#include "ファイル名"
ただし、コンパイラとともに用意されているヘッダファイルを取りこむ場合は
#include <ファイル名>
である。

1996-04-29; 2000-04-18; 2003-05-29
増田 耕一

目次へ