注意,是双下划线,而不是单下划线
FILE 包含当前程序文件名的字符串
LINE 表示当前行号的整数
DATE 包含当前日期的字符串
STDC 如果编译器遵循ANSI C标准,它就是个非零值
TIME 包含当前时间的字符串
例如:
输出当前程序文件名的程序:
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
printf("%s",FILE);
return 0;
}
//–
这是编译器内置宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。例如:
printf(“FILE: %d, LINE: %d, %s/n”, "FILE, LINE, “这里写上相关信息”);
ANSI C标准中几个标准预定义宏:
LINE:在源代码中插入当前源代码行号;
FILE:在源文件中插入当前源文件名;
DATE:在源文件中插入当前的编译日期
TIME:在源文件中插入当前编译时间;
STDC:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。