Shammer's Philosophy

My private adversaria

プリプロセッサの仕事

プリプロセッサ・・・Javaにこういうのはあっただろうか。
コンパイル時の動きから考えると、Javaでいうところのインライン化とか、
ジェネリクスやcloneメソッドみたいな暗黙的なメソッド挿入とかが該当しそう。
Cでのプリプロセッサは、基本的に#で始まる行を処理する。
たとえば、#includeなど。
これは使用するライブラリをロード(という言い方でいいのかな?)する役目。
#define は、Javaでいうfinal(インライン化)だ。
他にもいろいろあるが、コンパイルする前にソースコードを一部変換するような
ことをしているような感じっぽい。深く勉強すればもっと違う面が見えるかもしれないが。
とりあえず、プリプロセッサというものがあるということを頭のどこかに置いておこう。