通常のプログラムで使うif文のような構文が、プリプロセッサにもあります。
構文
#if 条件
何らかの処理
#elif 条件
何らかの処理
#else
何らかの処理
#endif
条件に合った部分の処理だけをコンパイル対象とします。
サンプルプログラム
#include <stdio.h>
#define NUM 1
void main(void) {
#if NUM == 0
printf("NUM定義が0\n");
#elif NUM == 1
printf("NUM定義が1\n");
#else
printf("その他");
#endif
} |
コメントアウト機能として使う
#include <stdio.h>
void main(void) {
int i;
/*
printf("i = %d\n", i); /* デバッグ用 */
*/
〜いろんな処理〜
} |
こんなコードがあったとすると、緑色の部分のコードがコメントアウトできません。
しかし、次のようにすると、可能となります。
#include <stdio.h>
void main(void) {
int i;
#if 0
printf("i = %d\n", i); /* デバッグ用 */
#endif
〜いろんな処理〜
} |
スポンサードリンク
|