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