预定义宏

预定义宏

预定义宏 (系统本身已有定义,程序员不能再定义)

作用:对于 __FILE____LINE____func__ 这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数。

在 Visual Studio 2005 中,默认情况下,此特性是激活的,但不能与 /EP 和 /P 编译选项同时使用。请注意在IDE环境中,不能识别 _func_ ,而要用 _FUNCTION_ 代替。
C++ BuilderX 的用户则应使用稍稍不同的名字:_FUNC_ 。

#include 

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 所在行数

你可能感兴趣的:(C)