(18)プリプロセッサ
C言語はCコンパイラ本体でコンパイルする前にその前処理を行うプリプロセッサがあります。
プリプロセッサにもいくつか命令があります。
そのなかでよく使うと思われるものをご紹介します。
#include
指定ファイルを読み込み、インクルード(挿入)します。
- 例
-
#include <stdio.h>
#include "sample.h"
#define
識別子と定数を定義します。
プリプロセッサは識別子が現れたら定数に置換します。
ちなみに、ここで定数と表現したものは正確には文字列であり、 識別子がソースコード上に現れたら定数(文字列)に置換するという機能です。
- 例
-
#define WAIT_TIME 5
#define DEBUG
#ifdef 識別子
(処理)
#endif
指定の識別子が定義されているときに(処理)を有効にします。
- 例
//#define DEBUG // この行を有効にすると(処理)が有効になります
#ifdef DEBUG
(処理)
#endif
#ifndef 識別子
(処理)
#endif
指定の識別子が定義されていないときに(処理)を有効にします。
- 例
//#define DEBUG // この行を有効にすると(処理)が無効になります
#ifndef DEBUG
(処理)
#endif
※この他にもプリプロセッサ命令はありますが、とりあえずこれくらい知っていれば何とかなると思います。