相关疑难解决方法(0)

#ifdef vs #if - 作为启用/禁用特定代码段编译的方法更好/更安全?

这可能是一种风格问题,但我们的开发团队有一点分歧,我想知道是否有其他人对此事有任何想法......

基本上,我们有一些调试打印语句,我们在正常开发过程中关闭.我个人更喜欢做以下事情:

//---- SomeSourceFile.cpp ----

#define DEBUG_ENABLED (0)

...

SomeFunction()
{
    int someVariable = 5;

#if(DEBUG_ENABLED)
    printf("Debugging: someVariable == %d", someVariable);
#endif
}
Run Code Online (Sandbox Code Playgroud)

有些团队更喜欢以下内容:

// #define DEBUG_ENABLED

...

SomeFunction()
{
    int someVariable = 5;

#ifdef DEBUG_ENABLED
    printf("Debugging: someVariable == %d", someVariable);
#endif
}
Run Code Online (Sandbox Code Playgroud)

......哪些方法对你来说听起来更好?为什么?我的感觉是,第一个更安全,因为总有一些东西被定义,并且没有危险它可以破坏其他地方的其他定义.

c c++ if-statement coding-style c-preprocessor

109
推荐指数
9
解决办法
9万
查看次数

没有令牌的#define IDENTIFIER

以下陈述的含义是什么:

#define FAHAD
Run Code Online (Sandbox Code Playgroud)

我熟悉这样的陈述:

#define FAHAD 1
Run Code Online (Sandbox Code Playgroud)

但是没有令牌的#define语句是什么意思呢?它是否类似于常量定义?

c

12
推荐指数
3
解决办法
3346
查看次数

标签 统计

c ×2

c++ ×1

c-preprocessor ×1

coding-style ×1

if-statement ×1