next up previous contents index
Next: 条件つきコンパイル Up: プリプロセッサ Previous: ファイルの読み込み

マクロ置換

  次のマクロ定義

  #define     YES    1


によって,その名前を文字列によって置換するという簡単な代入が行なわれる。

普通,定義行の終りまでが置換テキストであるが,``$¥bs$''を行末に付ける ことによって,長い定義を次の行に続けることができる。 #defineで定義された名前の通用範囲は,定義した点からソ−スファイル の最後までである。

また,引数つきマクロの定義も可能である。 これを使えば,テキストの置換はマクロの呼び出しに依存することになる。 例えば,ABCDというマクロを定義したとする。


#define ABCD(S) S(1,Matrix),S(2,Matrix),S(3,Matrix),S(4,Matrix)


このABCDはインライン展開され


S = tf2ss((s+1)/(s^2+3*s+4));
bodeplot(ABCD(S))


は次の行に換わる。


S = tf2ss((s+1)/(s^2+3*s+4));
bodeplot(S(1,Matrix),S(2,Matrix),S(3,Matrix),S(4,Matrix));




Masanobu KOGA 平成10年8月19日