プリプロセッサーは、コンパイルの前にコードを処理するために、 コンパイラーによって起動されるプログラムです。 このプログラムのためのコマンドはディレクティブ と呼ばれ、 ソース・ファイル内の、# 文字で始まる行がこれにあたります。この文字により、このようなコマンド行と ソース・プログラムのテキストが区別されます。 各プリプロセッサー・ディレクティブを使用すると、ソース・コードのテキストに変更され、 その結果、ディレクティブを含まない新しいソース・コード・ファイルが生成されます。プリプロセスされたソース・コード は中間ファイルであり、このファイルがコンパイラーの入力になるので、ソース・コードは 有効な C または C++ プログラムでなければなりません。
プリプロセッサー・ディレクティブの構文は、それ以外の言語の構文からは独立 してはいますが類似しています。また、プリプロセッサーの字句規則はコンパイラーの字句規則とは 異なっています。プリプロセッサーは標準の C および C++ のトークンを認識するだけでなく、ファイル名、空白の有無、および行末マーク文字の 位置をプリプロセッサーが認識できるようにするその他の文字を認識します。
本節では、プリプロセッサー・ディレクティブ、およびそれに関連する マクロ展開について説明します。プリプロセッサー・ディレクティブの概要に続いて、 テキスト・マクロ、ファイルのインクルード、ISO 規格および事前定義されたマクロ名、 条件付きコンパイル・ディレクティブ、およびプラグマを含むトピックについて説明します。
関連参照