応用情報暗記無料で始める

プリプロセッサとマクロとは?ぷりぷろせっさとまくろ

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

最終更新:2026-10-06

試験情報

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

応用情報を最短で暗記・合格する →

具体例

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

試験での引っ掛け

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

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

応用情報を最短で暗記・合格する →

試験での特徴
  • 分野:テクノロジ系
  • 関数風マクロは単なるテキスト置換なので、#define SQ(x) x*x に SQ(a+b) を渡すと a+b*a+b に展開されて誤る(括弧で囲めば回避)。