プリプロセッサとマクロとは?
プリプロセッサとマクロとは、コンパイル前にソースを機械的に置換・展開する処理系。ファイル取り込み(include)、記号定数や関数風マクロの展開(define)、条件付きコンパイル(ifdef)を行う。ビルド構成の切り替えや移植性確保の手段として使われるが、型検査を通らないため危険も伴う。
ぷりぷろせっさとまくろ
プリプロセッサとマクロの意味
コンパイル前にソースを機械的に置換・展開する処理系。ファイル取り込み(include)、記号定数や関数風マクロの展開(define)、条件付きコンパイル(ifdef)を行う。ビルド構成の切り替えや移植性確保の手段として使われるが、型検査を通らないため危険も伴う。
プリプロセッサとマクロの具体例
デバッグ用のログ出力を #ifdef DEBUG で囲めば、リリースビルドではコードごと消えるため実行時のオーバヘッドがゼロになる。組込みでは、機種ごとのレジスタ定義をマクロで切り替え、同一ソースを複数機種へ展開する使い方が定番。
プリプロセッサとマクロは試験でどう引っ掛けられる?
関数風マクロは単なるテキスト置換なので、#define SQ(x) x*x に SQ(a+b) を渡すと a+b*a+b に展開されて誤る(括弧で囲めば回避)。また引数が2回評価されるため、SQ(i++) のように副作用のある式を渡すと想定外の結果になる。
プリプロセッサとマクロと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。