明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

C規(guī)范中一些預(yù)定義的宏

[摘要]C標(biāo)準(zhǔn)中指定了一些預(yù)定義的宏,對于編程經(jīng)常會用到。下面這個(gè)表中就是一些常常用到的預(yù)定義宏。 __DATE__ 進(jìn)行預(yù)處理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表當(dāng)前源代碼文件名的字符串文字 __LINE__ 代表當(dāng)前源代碼中的行號的整數(shù)常量 __TIME__ 源...
    C標(biāo)準(zhǔn)中指定了一些預(yù)定義的宏,對于編程經(jīng)常會用到。下面這個(gè)表中就是一些常常用到的預(yù)定義宏。

__DATE__
進(jìn)行預(yù)處理的日期(“Mmm dd yyyy”形式的字符串文字)

__FILE__
代表當(dāng)前源代碼文件名的字符串文字

__LINE__
代表當(dāng)前源代碼中的行號的整數(shù)常量

__TIME__
源文件編譯時(shí)間,格式微“hh:mm:ss”

__func__
當(dāng)前所在函數(shù)名


       對于__FILE__,__LINE__,__func__這樣的宏,在調(diào)試程序時(shí)是很有用的,因?yàn)槟憧梢院苋菀椎闹莱绦蜻\(yùn)行到了哪個(gè)文件的那一行,是哪個(gè)函數(shù)。

       下面一個(gè)例子是打印上面這些預(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__ );
}