ANSI标准说明了五个预定义的宏名。它们是:
__LINE__
__FILE__
__DATE__
__TIME__
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__
__FILE__ 是内置宏 代表源文件的文件名
__LINE__ 是内置宏,代表该行代码的所在行号
__DATE__宏指令含有形式为月/日/年的串,表示源文件被翻译到代码时的日期。
源代码翻译到目标代码的时间作为串包含在__TIME__ 中。串形式为时:分:秒。
如果实现是标准的,则宏__STDC__含有十进制常量1。如果它含有任何其它数,则实现是非标准的。
示例代码:(打印源程序名,行号,时间及日期)
#include <stdio.h>
int main( int argc,char const *argv[] )
{
printf("%s:%d\n",__FILE__,__LINE__);
printf("%s,%s\n",__DATE__,__TIME__);
return 0;
}