在某些情况下调试中,我们希望输出更详细的信息,可以通过C语言给出的宏定义来简单实现,具体可以打印出当前的文件与代码行数,示例如下:

#include <stdio.h>
#define DEBUG_ENABLE
#ifdef DEBUG_ENABLE
#define DEBUG(format,...) printf("File: "__FILE__", Line: %04d: "format"\r\n", __LINE__, ##__VA_ARGS__)
#else
#define DEBUG(format,...)
#endif
int main() {
    char str[]="HELLO WORLD";
    DEBUG("hello world upper is %s",str);
    DEBUG("I am %d years old",88);
    return 0;
}

使用时输出如下,使用DEBUG_ENABLE可以开关宏定义,使用时更方便:

1.png