編譯c++的時候,編譯器自動定義了一個預處理器名字_ _cplusplus,(注意前面有兩個下劃線)。
因此我們可以根據它來判斷程序是否為c++程序,以便有條件的包含代碼。
例如:
#ifdef _ _cplusplus
//不錯,我們要編譯c++
//extern "c"我們在第七章在講解
extern"c"
#endif
min(int ,int );
在編譯c的時候,編譯器定義一個_STDC_,當然_ _cpluscplus和_STDC_不會同時被定義的,
另外兩個比較有用的名字是_LINE_和_FILE_。其中_LINE_是指已經編譯的行數。_FILE_包含正在被編譯的文件的名字。
另外兩個預定義的名字是:_TIME_和_DATE_它們分別包含被編譯文件的時間和日期。
時間的格式為:hh:mm:ss
例如:如果你是在正8點17分編譯這個文件,那么時間表示為8:17:00。如果那天剛好為1998年10月23號,那么日期就為:oct23 1998
如果當前的或者文件的名字發生了變化,那么預定義名字_LINE_和_FILE_就會變化,其他的預定義名字在編譯期間不會變化的。她們的值也不能被修改