"printf("マクロのメッセージは%d \ n "、MESSAGEです);"実行時にたとえば、実行時に引数10を指定すると、メッセージが出力されます。それが与えられていなければ、このメッセージは表示されません。可能でしょうか?実行時にDEBUGメッセージを有効にする
#include <stdio.h>
#define MESSAGE 10
int foo;
void main(int argc, char *argv[])
{
foo = atoi(argv[1]);
printf("foo is %d\n", foo);
#if MESSAGE==foo
printf("macro MESSAGE is %d\n",MESSAGE);
#endif
}
'if'チェックの問題点は何ですか? –
プリプロセッサはランタイム値を使用できません。 – BLUEPIXY
あなたはコンパイル時を意味していました...それは別のボールゲームです。 –