实现调试的一种正常过程是使用
#ifdef DEBUG
...debugging tests...
#endif
有时,代码的某些部分需要一种典型的“检查”算法,因此通常希望将其包装在一个函数中,这样代码仅在定义了 DEBUG 标志时才被调用。让该函数称为 myDebug();
我看到了两种自然的方法:每次调用 myDebug() 时都添加 ifdef,如下所示:
#ifdef DEBUG
myDebug();
#endif
或者 myDebug 定义为:
void myDebug()
{
#ifdef DEBUG
...code...
#endif
}
基本上,第一个避免了函数调用,而第二个避免了将代码与很多#ifdef/#endif。
是否有任何“标准”约定可以选择两者之一,或者我不知道的另一种方式?从“造型”的角度来看,是否值得选择第二个?
谢谢