相关疑难解决方法(0)

#define宏用于C中的调试打印?

尝试创建一个宏,可以在定义DEBUG时用于打印调试消息,如下面的伪代码:

#define DEBUG 1
#define debug_print(args ...) if (DEBUG) fprintf(stderr, args)
Run Code Online (Sandbox Code Playgroud)

如何用宏实现这一目标?

c c-preprocessor

196
推荐指数
7
解决办法
18万
查看次数

如何实现水平调试系统?

按照设计,在我正在工作的环境中,我不能使用调试器来尝试检测错误,所以当我需要调试功能时,我总是输出一些信息.

为此,我做了以下事情:

#ifdef DEBUG
    #define printd(x) printf x
#else
    #define printd(x)
#endif
Run Code Online (Sandbox Code Playgroud)

因此,当我需要打印一些调试信息时,我会使用printd()而不是printf().

我发现的问题是我需要一个水平系统,在确定的调试级别中有一些消息可能很重要,但在调试代码的其他部分时则无关紧要.

所以我的问题是,我如何实现一个水平的调试系统?我重视简单,我的意思是,我更喜欢我的实际系统,而不是在使用它时需要大量代码或混淆代码.类似的东西printd(level, format, ...)会很棒.

c debugging

3
推荐指数
1
解决办法
9302
查看次数

标签 统计

c ×2

c-preprocessor ×1

debugging ×1