C規(guī)范中一些預(yù)定義的宏
發(fā)表時間:2024-06-14 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]C標(biāo)準(zhǔn)中指定了一些預(yù)定義的宏,對于編程經(jīng)常會用到。下面這個表中就是一些常常用到的預(yù)定義宏。 __DATE__ 進(jìn)行預(yù)處理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表當(dāng)前源代碼文件名的字符串文字 __LINE__ 代表當(dāng)前源代碼中的行號的整數(shù)常量 __TIME__ 源...
C標(biāo)準(zhǔn)中指定了一些預(yù)定義的宏,對于編程經(jīng)常會用到。下面這個表中就是一些常常用到的預(yù)定義宏。
__DATE__
進(jìn)行預(yù)處理的日期(“Mmm dd yyyy”形式的字符串文字)
__FILE__
代表當(dāng)前源代碼文件名的字符串文字
__LINE__
代表當(dāng)前源代碼中的行號的整數(shù)常量
__TIME__
源文件編譯時間,格式微“hh:mm:ss”
__func__
當(dāng)前所在函數(shù)名
對于__FILE__,__LINE__,__func__這樣的宏,在調(diào)試程序時是很有用的,因為你可以很容易的知道程序運行到了哪個文件的那一行,是哪個函數(shù)。
下面一個例子是打印上面這些預(yù)定義的宏的。
#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__ );
}