看PostgreSQL中的代码:

/* Debugging.... */

#ifdef FDDEBUG
#define DO_DB(A) A
#else
#define DO_DB(A)                /* A */
#endif

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

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

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

[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

 

相关文章:

  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2021-06-12
  • 2022-12-23
  • 2021-04-19
  • 2022-01-22
猜你喜欢
  • 2022-01-20
  • 2022-01-16
  • 2022-12-23
  • 2021-12-19
  • 2021-03-31
  • 2022-12-23
相关资源
相似解决方案