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

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

[摘要]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__ );
}