且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C语言程序中加调试开关

更新时间:2022-09-18 13:35:20

看PostgreSQL中的代码:

C语言程序中加调试开关
/* Debugging.... */

#ifdef FDDEBUG
#define DO_DB(A) A
#else
#define DO_DB(A)                /* A */
#endif
C语言程序中加调试开关

此后,在为定义 FDDEBUG的情况下,如果执行 DO_DB(function1());

就相当于 /*function1();*/,也就是什么都不执行

而且,如果对PostgreSQL进行查找,发现 没有定义 FDDEBUG 的地方,估计哪个开发者自己手工加入的吧:

C语言程序中加调试开关
[root@lex ttt]# find ./  | xargs grep "FDDEBUG"
Binary file ./src/backend/postgres matches
Binary file ./src/backend/storage/file/fd.o matches
./src/backend/storage/file/fd.c:#ifdef FDDEBUG
./src/backend/storage/file/fd.c:#if defined(FDDEBUG)
./src/backend/storage/file/fd.c:#endif   /* FDDEBUG */
./src/backend/storage/file/fd.c:#ifdef FDDEBUG
C语言程序中加调试开关