C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)
生活随笔
收集整理的这篇文章主要介绍了
C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
预定义宏:
ANSI C 定义了许多宏。在编程中您可以使用这些宏,但是不能直接修改这些预定义的宏。
宏 描述
__DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。
__TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。
__FILE__ 这会包含当前文件名,一个字符串常量。
__LINE__ 这会包含当前行号,一个十进制常量。
__STDC__ 当编译器以 ANSI 标准编译时,则定义为 1。
实例演示:
//[root@J01051386 function]# cat line.c #include <stdio.h> int main() {printf("File:%s\n",__FILE__);printf("Date:%s\n",__DATE__);printf("Time:%s\n",__TIME__);printf("Line:%d\n",__LINE__);printf("Ansi:%d\n",__STDC__);printf("%s\n",__func__); }执行过程以及结果:
[root@J01051386 function]# gcc line.c [root@J01051386 function]# ./a.out File:line.c Date:Nov 2 2018 Time:15:33:30 Line:7 Ansi:1 main预处理宏的使用 —— 打印debug信息:
//定义:debug打印规则// //[root@J01051386 user_mgr]# cat debug.h #define __DEBUG 1 #if __DEBUG#define DEBUG_PRINT(fmt, ...) printf("Debug-- File: "__FILE__", Line: %05d, Function: %s: " , __LINE__,__FUNCTION__ );printf(fmt, ##__VA_ARGS__);printf("\n") #else#define DEBUG_PRINT(fmt, ...) #endif //引用:使用.h文件定义的函数// //执行cat命令 [root@J01051386 user_mgr]# vim io.c +535 //查看到的结果如下显示 535 DEBUG_PRINT("%s\n", sql); //sql的值是select id, name, remark, grouname from user_resource //执行结果显示: 与定义相对应 Debug-- File: io.c, Line: 00535, Function: readfromdb2: select id, name, remark, grouname from user_resource
总结
以上是生活随笔为你收集整理的C 预处理器 —— __DATE__ # __TIME__ # __FILE__ # __LINE__ # __STDC__ (预处理宏的使用 —— 打印debug信息:)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: MODE ——计算了 任意多个数字的平均
- 下一篇: 函数 —— memset(给数组重新赋值