資格暗記無料で始める

プリプロセッサとマクロとは?

プリプロセッサとマクロとは、コンパイル前にソースを機械的に置換・展開する処理系。ファイル取り込み(include)、記号定数や関数風マクロの展開(define)、条件付きコンパイル(ifdef)を行う。ビルド構成の切り替えや移植性確保の手段として使われるが、型検査を通らないため危険も伴う。

ぷりぷろせっさとまくろ

応用情報技術者試験の頻出用語/テクノロジ系


プリプロセッサとマクロの意味

コンパイル前にソースを機械的に置換・展開する処理系。ファイル取り込み(include)、記号定数や関数風マクロの展開(define)、条件付きコンパイル(ifdef)を行う。ビルド構成の切り替えや移植性確保の手段として使われるが、型検査を通らないため危険も伴う。

プリプロセッサとマクロの具体例

デバッグ用のログ出力を #ifdef DEBUG で囲めば、リリースビルドではコードごと消えるため実行時のオーバヘッドがゼロになる。組込みでは、機種ごとのレジスタ定義をマクロで切り替え、同一ソースを複数機種へ展開する使い方が定番。

プリプロセッサとマクロは試験でどう引っ掛けられる?

関数風マクロは単なるテキスト置換なので、#define SQ(x) x*xSQ(a+b) を渡すと a+b*a+b に展開されて誤る(括弧で囲めば回避)。また引数が2回評価されるため、SQ(i++) のように副作用のある式を渡すと想定外の結果になる。

プリプロセッサとマクロと関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。