C语言定义了一些标准宏,可以直接使用。
#include <stdio.h>
/*
__DATE__ 当前日期,输出格式为 "MMM DD YYYY"
__TIME__ 当前时间,输出格式为 "HH:MM:SS"
__FILE__ 当前文件名
__LINE__ 当前行号
__STDC__ 当编译器以 ANSI 标准编译时,则输出 1
__func__ 所在函数名的字符串
*/
int main(void)
{
int a = 10;
char str[] = "Hello";
printf("File:%s\n",__FILE__);
printf("Date:%S\n",__DATE__);
printf("Time:%s\n",__TIME__);
printf("Line:%d\n",__LINE__);
printf("Stdc:%d\n",__STDC__);
printf("%s\n",__func__); //printf("%s\n",__FUNCTION__);
return 0;
}
其中,__DATE__和__TIME__经常会作为版本控制使用。
#include <stdio.h>
const char Version[]="Version 0.0.1 ";
int main(void)
{
printf("%s,%s,%s",Version,__DATE__,__TIME__);
return 0;
}