■分割コンパイル■
■分割コンパイルとは■
C言語では,プログラム量が多くなったときに,プログラムをいくつものソー
スファイルに分割することができる.それら複数のソースファイル
を必要に応じてコンパイルして,リンク(連結)させることで,ひとつの大
きなプログラムを作成することを,分割コンパイルと呼ぶ.
■分割コンパイルの利点■
プログラムを分割すると,次の利点がある.
- プログラムを機能ごとに分割することで整理し,分かりやすくなる
- 修正したファイルだけをコンパイルし,残りは前回のままリンクすることで,
コンパイルを高速にすることができる
- プログラムを分割することで,ファイル別に担当者をおき,複数の人間で開
発しやすくなる.
- 大きなプログラムを開発できる
現在のソフトウェア開発では,常識となっている.
■分割コンパイルの方法■
NC30では,ビルドアイコンと,リビルドアイコンがある.それどれ次の意味
がある.
- ビルド: 前回から修正のあったファイルだけコンパイルしてリンク
- リビルド: すべてのファイルをコンパイルしなおす
通常はビルドだけしておけばよい.何かトラブルがあったり,バックアップ
から元のファイルに戻したときなどだけ,リビルドすることになる.ただし,ト
ラブル防止の意味で,各週最初のときにはリビルドすることを勧める.
■プログラムの分割方法■
では,今まで作成してきたプログラムをどのように分割すべきなのか.ここ
でいくつか注意点を説明する.
- main関数はひとつだけ
- 機能ごとに分割する.例えば,モータ関係,センサ関係,mainの3分割など
- 具体的には,各ファイルに機能ごとの関数,例えばモータ関係なら
driveMotorやturnRightなどモータを制御するような関数などを格納する.
- 各ファイルには,機能を表すファイル名を付ける.例えばmotor.c,
sensor.c, main.cなど
- 各ファイルに格納した関数のプロトタイプだけは,ヘッダファイルとしてさ
らに分離して用意する.例えばmotor.h, sensor.hなど
- ヘッダファイルには,各ファイルで使用する定数なども記述しておく.