19
#ifdef vs #if-作为启用/禁用特定代码段编译的方法,哪种方法更好/更安全?
这可能是风格问题,但我们的开发团队存在一些分歧,我想知道是否还有其他人对此有任何想法... 基本上,我们有一些调试打印语句,这些语句在正常开发过程中会关闭。我个人更喜欢执行以下操作: //---- SomeSourceFile.cpp ---- #define DEBUG_ENABLED (0) ... SomeFunction() { int someVariable = 5; #if(DEBUG_ENABLED) printf("Debugging: someVariable == %d", someVariable); #endif } 但是,有些团队更喜欢以下内容: // #define DEBUG_ENABLED ... SomeFunction() { int someVariable = 5; #ifdef DEBUG_ENABLED printf("Debugging: someVariable == %d", someVariable); #endif } ...哪种方法对您听起来更好,为什么呢?我的感觉是第一个比较安全,因为总会定义一些东西,并且没有危险可以破坏其他地方的其他定义。