君とCしましょう。(未完成の暫定版)

マクロ

C/C++言語のコンパイラにはマクロという機能があります。
マクロは文字列の置き換えを行う機能で、プリ・プロセッサで処理されます。
マクロを使うと定数や式を代替の文字列で、記述できます。

マクロは#defineをつかって宣言を行います。
文字定数をマクロを使っておこなうばあいは、次のようになります

#define MAXSTRLEN 256
class getstr{
char data[MAXSTRLEN];
int count
iostrem io;
int fopen(char *filename);
int getstr();
int close();
void getstr(){ count=0; }
}
class getstr:: int getstr()
{
 do(!io.eof() || MAXSTRLEN != count)
    data[count++]=io.get();
 return count;
}
.......... 以下省略

とかある場合は、do(!io.eof() || MAXSTRLEN != count)はプリプロセッサによってdo(!io.eof() || 256 != count)のようにテキストが置きかえられてから、コンパイラに渡されてコンパイルされます。

マクロはソースファイルに記述するほかに、コンパイラのコマンドラインからも宣言を指定できます。


著作権2000年 © 大槻昌弥

連絡先

ご意見ご要望は問い合わせフォームまでお願いします。

なお、メールウェアが「HTMLを含むマルチパートMIME」を理解できませんので、なるべくiso2022-jpのプレーンテキストで送信願います。
また、Webサイトの内容に関するお問い合わせは、整理の都合で出来るだけURIを明記するようにお願いします。

[EOT]