[C]新しいデバッグ表示の提案
234: 2008/05/23(金) 03:57:52.38 ID:sM2jNusj0 (3)
ねぇねぇ、こんなのどう思いますか?
#define DEBUGMODE
#ifdef DEBUGMODE
#define DBG if(1)
#else
#define DBG if(0)
#endif
void main(){
DBG printf("デバッグモードの時だけ表示される情報だよ\n");
}
#define DEBUGMODEの行をコメントアウトしてコンパイルしたら、 最適化されてDBGの行は消してからコンパイルされるよね?
#ifdef DEBUGMODE
printf("デバッグモードの時だけ表示される情報だよ\n");
#endif
よりも見やすいと思うんだけど・・・。
269: 2008/05/23(金) 21:40:42.30 ID:cRvPjj4q0
gcc (GCC) 4.1.3なら-O0、オプション無しですら消される
これの味噌は、デバッグprint以外にもDBG exit(1);とかDBG i++;とかができる点にあります。
249: 2008/05/23(金) 18:16:39.06 ID:uN5A9fC70 (4)
しかし、
DBG {
hoge_dbg();
}
else {
hoge();
}
これはキモいな
http://ex25.2ch.net/test/read.cgi/news4vip/1211348705/234,269,249