c++ - 临时禁用调试代码

标签 c++ visual-c++ compiler-warnings readability

我习惯使用这样的代码来调试编写起来不是很简单的 block :

if(0) 
{ 
    // debugging code 
}

问题是“warning C4127: conditional expression is constant”

我正在保留对旧代码的注释,将来可以随时删除(但应该保留一段时间,以便有可能遵循原作者的意图)。我可以使用“#if 0”,但相反,我看不到可读性有任何改进(但这可能是个人喜好问题)。

哪个是更友好、更易读、无警告的解决方案?

(因为这更多是关于样式的问题,也许有更好的 StackExchange 地方)

EDIT 调试代码不等同于调试配置(_DEBUG):一般在_DEBUG内,但我不想污染它所以我必须用if禁用它(0)

最佳答案

使用预处理器:

#if 0 
    // Deactivated code.
#endif

您还可以定义一个宏 DEBUG(或您选择的名称),然后执行类似的操作

#ifdef DEBUG 
    // Debug code.
#endif

注意:我建议使用您自己的宏而不是现有的宏(如 _DEBUG 或 NDEBUG 参见 _DEBUG vs NDEBUG )。

关于c++ - 临时禁用调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318723/

相关文章:

c# - 需要在Windows32模式下序列化Bitmap

c++ - [Windows] 网络到主机不工作

c - 警告 : control reaches end of non-void function In User-Defined Function

编译器警告范围内没有原型(prototype)定义的函数?

c - ANSI C - 将数据从函数传递到 CHAR 指针

report - 带有编译器警告的 clang 扫描构建报告?

c++ - boost::any 是可移动的吗?

c++ - 如何确定用户单击 "Cancel"时 FindText 对话框已关闭

c++ - 如何在 C++ 中重载非交换运算符的两种可能性?

visual-studio-2010 - 变量 'xyz' 周围的堆栈已损坏