预定义符号
下表总结了由预处理器定义的符号。它们的值或是字符串常量,或是十进制数字常量。__FILE__和__LINE__在确认调试输出的来源方面很有用处。__DATE__和__TIME__常常用于在被编译的程序中加入版本信息。__STDC__用于在那些ANSI环境和非ANSI环境都必须进行编译的程序中结合条件编译。
符号 | 示例 | 含义 |
__FILE__ | "name.c" | 进行编译的文件名(字符串字面值) |
__LINE__ | 25 | 文件的当前行号(十进制常量) |
__DATE__ | "jan 31 1997" | 文件被编译的日期 |
__TIME__ | "18:04:30" | 文件被编译的时间 |
__STDC__ | 1 | 如果编译器遵循ANSI C,其值为1,否则未定义 |
示例:
#include <stdio.h>
int main()
{
printf("file name is %s\n", __FILE__); //文件名
printf("line is %d\n", __LINE__); //行号
printf("date is %s\n", __DATE__); //日期
printf("time is %s\n", __TIME__); //时间
printf("ANSI C is %d\n", __STDC__); //ANSI C
return 0;
}
参考链接
- http://www.myexception.cn/c/559494.html
- https://blog.csdn.net/qingzhuyuxian/article/details/80968135
- GB/T 15272-1994 (6.8.8)