预定义宏
预定义宏 (系统本身已有定义,程序员不能再定义)
作用:对于 __FILE__
,__LINE__
,__func__
这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。
在 Visual Studio 2005 中,默认情况下,此特性是激活的,但不能与 /EP 和 /P 编译选项同时使用。请注意在IDE环境中,不能识别 _func_ ,而要用 _FUNCTION_ 代替。
C++ BuilderX 的用户则应使用稍稍不同的名字:_FUNC_ 。
#include <stdio.h>
int main()
{
printf("helloworld\n");
printf("%s %s %s %s %d\n",__DATE__,__TIME__,__FILE__,__func__,__LINE__);
}
运行结果
lh@ubuntu:~/1219$ ./a.out
helloworld
Dec 19 2016 22:07:14 4.c main 6
由于是宏,所以
__DATE__
在程序中显示为红色
上面依次输出的是
:Dec 19 2016 日期
:22:07:14 时间
:4.c 文件
:main 所在函数名
:6 所在行数