#include <stdio.h>
といったように記述する。
この「#」を含むものはプリプロセッサ指令と呼ばれるもの
ヘッダファイルとプリプロセッサ
注意点として、このプリプロセッサ指令はC言語とは関係のない文なので、末尾に「;」をつける必要はない。
- #include <xxxx.h> 標準システムディレクトリにあるヘッダファイル
- #include "xxxx.h" 主に自作ヘッダ等。ディレクトリが異なる場合はパスを指定する。
- #define xxxx yyyy xxxxをyyyyに置き換える。
- #undef xxxx #define xxxxを無効化。未定義の0となる。
- #if 続く条件式を判定。
- #ifdef xxxx xxxxが定義されているかを判定し、処理を記述できる。
- #ifndef xxxx xxxxが定義されていないかを判定し、処理を記述できる。
- #elseif #if、#ifdef、#ifndefの判定以外でさらに条件を判定。
- #else #if、#ifdef、#ifndef、#elseifの判定がFALSEであった場合の処理。
- #endif #ifdef、#ifndefのブロックの最後を示す。
※補足
#define xxxx yyyyのyyyy部分に簡単な関数を記述することでマクロとして利用できる。
C言語のマクロの基本について
ただし、定義に間違いがないように()の位置には要注意。
#define xxxxで終わっている場合は未定義(0)になる。
#if、#ifdef、#ifndefは通常のif構文と同じように比較演算子を使ったり、入れ子構造にしたりすることができる。
#ifでしばしば使われるのが
defined(xxxx) xxxxが定義されているかどうかを判定する。
という演算子。
- #if defined(xxxx) #ifdef xxxxと同様。
- #if !defined(xxxx) #ifndef xxxx同様。
ココらへんの使い分けがあるのかどうかは知らない。
プリプロセッサ指令をデバッグに利用することもできるらしい。
デバッグとプリプロセッサ指令
0 件のコメント:
コメントを投稿