常用的預定義的宏
凡是遵循ISO C標准的編譯器都必須定義下面這幾個宏。這些宏的名稱都是以兩個下劃線開始,以兩個下劃線結束。
1、__DATE__
“替代文字”是一個含有編譯日期的字符串字面值,日期格式為“mm dd yyyy”(例如:“Mar 19 2006”)。如果日期小於10日,就在日的前面放一個空格符。
2、__FILE__
此字符串字面值含有目前源代碼文件名稱。
3、__LINE__
一個整數常量,其值是目前源代碼的行號(包含__LINE__宏所指的那一行代碼),從文件頭開始算起。
__LINE__和__FILE__用於打印調試信息會非常方便。
printf("line = %d\n", __LINE__);
printf("file = %s\n", __FILE__);
4、__TIME__
此字符串字面值包含編譯時間,格式為“hh:mm:ss”(范例:“08:00:59”)。
5、__STDC__
整數常量1,表示此編譯器遵循ISOC標准。
摘自 碼農的幸福生活