所以我在询问有关该主题的一般建议。我正在开发一个用于数值计算的C ++库,但是通过开发,我发现当有一个问题有一个标志可以启用某种形式的日志记录以便我可以检查出错的时候调试很有用。我的问题是这个可接受的标准是什么?我应该为DEBUG定义一些宏,以便在没有定义时不会发生DEBUG吗?我应该使用日志库并记录内容。
答案 0 :(得分:1)
正如上面的评论所提到的,你的问题没有一般性答案 - 这取决于具体情况和个人意见。我个人经常使用
#ifdef DEBUG
// logging here
#endif
我的代码中的块(与我的一些专门的DEBUG_PRINT
宏结合使用,可以打印其他信息,例如变量的名称和类型等)。然后我只是将-DDEBUG
标志传递给编译器以全局启用所有DEBUG日志记录。 (我通常使用cmake所以我在所有调试版本中都默认传递了这个标志)我不知道这是否被视为"可接受的"是否练习 - 它对我来说效果很好。