プリプロセス は、C および C++
ファイルがコンパイラーに渡される前に、それらのファイルに対して行われる予備操作です。これによって、以下のことを実行できます。
- 現在のファイル内のトークンを指定された置換トークンと置き換える。
- 現在のファイル内にファイルを組み込む。
- 現在のファイルのセクションを条件によりコンパイルする。
- 診断メッセージを生成する。
- ソースの次の行の行番号を変更し、現在のファイルのファイル名を変更する。
- マシン特有の規則を、コードの指定されたセクションに適用する。
トークン は、空白で区切られた一連の文字です。
プリプロセッサー・ディレクティブで認められている空白は、
スペース、水平タブ、垂直タブ、改ページ、およびコメントだけです。
改行文字も、プリプロセッサー・トークンを分離することができます。
プリプロセスされるソース・プログラム・ファイルは、有効な C または
C++ プログラムでなければなりません。
プリプロセッサーは、以下のディレクティブによって制御されます。
- #define
- マクロを定義します。
- #undef
- プリプロセッサー・マクロ定義を除去します。
- #error
- コンパイル時エラー・メッセージ用のテキストを定義します。
- #include
- 別のソース・ファイルからテキストを挿入します。
- #if
- 定数式の結果に基づいて、ソース・コードの部分を条件により抑止
します。
- #ifdef
- マクロ名が定義されている場合に、ソース・テキストを条件によりインクルードします。
- #ifndef
- マクロ名が定義されない場合に、ソース・テキストを条件によりインクルードします。
- #else
- 直前の #if、#ifdef、#ifndef、
または #elif テストが失敗した場合に、条件によりソース・テキストをインクルードします。
- #elif
- 直前の #if、#ifdef、#ifndef、
または #elif テストが失敗した場合に、
定数式の値を基にして、条件によりソース・テキストをインクルードします。
- #endif
- 条件テキストを終了します。
- #line
- コンパイラー・メッセージの行番号を提供します。
- #pragma
- コンパイラーに対してインプリメンテーション定義の命令を指定します。
関連参照
