做用:對於__FILE__,__LINE__,__func__這樣的宏,在調試程序時是頗有用的,由於你能夠很容易的知道程序運行到了哪一個文件的那一行,是哪一個函數。編程
下面一個例子是打印上面這些預約義的宏的。函數
__DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__ C標準中指定了一些預約義的宏,對於編程常常會用到。下面這個表中就是一些經常用到的預約義宏。調試
__DATE_ %s_
進行預處理的日期(「Mmm dd yyyy」形式的字符串文字)字符串
__FILE__ %s
表明當前源代碼文件名的字符串文字io
__LINE__ %d
表明當前源代碼中的行號的整數常量編譯
__TIME__ %s
源文件編譯時間,格式微「hh:mm:ss」function
__FUNCTION__(__fucn__) %s
當前所在函數名class
#include <stdio.h>
#include <stdlib.h>
void why_me();
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__ );
why_me();
return 0;
}date
void why_me()
{
printf( "This function is %s\n", __func__ );
printf( "The file is %s.\n", __FILE__ );
printf( "This is line %d.\n", __LINE__ );
}file