首页 > 代码库 > C标准提前定义宏,调试时加打印非常实用

C标准提前定义宏,调试时加打印非常实用

#include<stdio.h>

int main(int argc, char *argv[])

{
    printf("File:[%s]\r\n", __FILE__);

    printf("Function:[%s]\r\n", __FUNCTION__);

    printf("LineNum:[%d]\r\n", __LINE__);

    printf("Data:[%s]\r\n", __DATE__);

    printf("Time:[%s]\r\n", __TIME__);
}

 

调试时知道文件和行号,能够非常方便地找到打印处,并不会由于同样的信息打印无法区分


__FILE__                 路径和文件名称
__FUNCTION__      函数名
__LINE__                行号
__DATE__              日期
__TIME__               时间
 
补充:__VA_ARGS__ 是一个可变參数的宏,这个可变參数的宏是新的C99规范中新增的,眼下似乎仅仅有gcc支持(VC6.0的编译器不支持)。

C标准提前定义宏,调试时加打印非常实用