【C/C++】C语言中的__FILE__、__LINE__、#line、__func__关键字的作用

1、__FILE__用于指示本行语句所在源文件的文件名,如下(test.c):

#include 
void main()
{
    printf("%s\n", __FILE__);
}

=====>>GCC编译执行结果为:
=====>> "test.c"
=====>>Windows的VC6.0编译执行结果为:
=====>> "c:\documents and settings\administrator\桌面\test.c"

2、__LINE__用于指示本行语句在源文件中的位置信息,如下:

#include 
void main()
{
    printf("%d\n", __LINE__);
    printf("%d\n", __LINE__);
    printf("%d\n", __LINE__);
};

=====>>输出结果为:
=====>> 4
=====>> 5
=====>> 6

3、#line来用于重新设定__LINE__的值,如下:

#include 
#line 200  //指定下一行的__LINE__为200
void main()
{
    printf("%d\n", __LINE__);
    printf("%d\n", __LINE__);
    printf("%d\n", __LINE__);
};

=====>>输出结果为:
=====>> 202
=====>> 203
=====>> 204

4、__func__用于指示所在的函数(该关键字gcc支持,windows下的vc6.0不支持)。如下:

#include 
void main()
{
    printf("This function name : %s\n", __func__);
}

=====>>输出结果为:
=====>> "This function name : main"

你可能感兴趣的:(C/C++)