C言語関係掲示板

過去ログ

No.1313 #if 0 の意味

[戻る] [ホームページ]
No.17680

#if文について
投稿者---gamao(2004/11/01 16:41:09)


#ifdef DBG
a=1;
#endif
DBGが定義されていたら、a=1となりますが、

#if 0
a=1;
#endif
ってどのような意味なんでしょうか?
わかるかた、教えてください。
よろしくお願いします。



No.17681

Re:#if文について
投稿者---ぽこ(2004/11/01 16:44:17)


>#if 0
>a=1;
>#endif
>ってどのような意味なんでしょうか?

コメントアウトと同義です。


No.17684

Re:#if文について
投稿者---tetrapod(2004/11/01 17:12:25)


コメントの入れ子はできないことになっているので例えば
a=1; /* ほげ */
を一時的に無効にしたいときに
/*
a=1; /* ほげ */
*/
とするとコンパイルエラーになってしまいます。
そのため (状況次第ですが) このように #if 0 でくくることがあります。

まるっきり不要なら取り去るべきでしょう。
昔はこうだった、という履歴を残すつもりであるならバージョン管理ツールを使えばいい。



No.17685

Re:#if文について
投稿者---gamao(2004/11/01 17:27:48)


>コメントの入れ子はできないことになっているので例えば
>a=1; /* ほげ */
>を一時的に無効にしたいときに
>/*
>a=1; /* ほげ */
>*/
>とするとコンパイルエラーになってしまいます。
>そのため (状況次第ですが) このように #if 0 でくくることがあります。
>
>まるっきり不要なら取り去るべきでしょう。
>昔はこうだった、という履歴を残すつもりであるならバージョン管理ツールを使えばいい。

#if 1
になれば何か変わるのでしょうか?


No.17688

Re:#if文について
投稿者---Hermit(2004/11/01 17:50:07)


a=1;
が有効になります。

#if 0
を使うのは、ユーザーの仕様変更などした時に、
コメントアウトと同様に使うのですが、
ユーザーが、元に戻してくれって言われるのはしょっちゅうなので、
#if 1
ですぐに有効に出来るように残しておく、というのが
昔私が聞いた説明でした。


No.17690

Re:#if文について
投稿者---gamao(2004/11/01 17:53:14)


>a=1;
>が有効になります。
>
>#if 0
>を使うのは、ユーザーの仕様変更などした時に、
>コメントアウトと同様に使うのですが、
>ユーザーが、元に戻してくれって言われるのはしょっちゅうなので、
>#if 1

>ですぐに有効に出来るように残しておく、というのが
>昔私が聞いた説明でした。

わかりました。ありがとうございます。