当谈及__FUNCTION__
时,可能很多人对__FUNCTION__
很熟,不会出现什么问题。
但是我在写如下代码的时候把__FUNCTION__
写成了_FUNCTION_
,
可能不细看觉得没什么区别,不会出现什么错误,但是运行起来问题可就大了,注意看:
这是怎么回事,当时我还真不知道,后来才知道是两边各少了一个“_”;
原来__FUNCTION__
这个宏它的两边各两个“_”;
由于自己出错了,才使我有兴趣去查查这个东西__FUNCTION__
;
下面是我整理的查询结果:
Linux几个调试宏__FUNCTION__ ,__TIME__ ,__LINE__ ,__FILE__
这几个宏是编译器内置的,不是在哪个头文件中包含的;
__FUNCTION__ :函数名
__TIME__ :文件运行的时间
__LINE__ :所在行数
__FILE__:文件的名字
以下是我找的一个例子:
#include <stdio.h>
int main()
{
printf("The file is %s.\n",__FILE__);
printf( "The date is %s.\n", __DATE__ );
printf( "The time is %s.\n", __TIME__ );
printf( "This is line %d.\n", __LINE__ );
printf( "This function is %s.\n", __FUNCTION__ );
return 0;
}
运行结果:
The file is fopen.c.
The date is May 3 2017.
The time is 15:08:52.
This is line 7.
This function is main.