標準預定義巨集
內容__
file__
代表當前源**檔名的字串文字(包含了詳細路徑,如」g:/program/study/c++/main.cpp」)
__
line__
代表當前源**中的行號的整數常量
__
date__
進行預處理的日期(」mmm dd yyyy」形式的字串文字,如」aug 27 2017」)
__
time__
原始檔編譯時間(格式為」hh:mm:ss」,如」09:11:10」 )
__
stdc__
設定為1時,表示該實現遵循c標準
__
stdc_version__
代表c標準版本號(格式為yyyymml的乙個長整型數,如c99為199901l)
__
stdc_hosted__
若為本機環境則設定為1,否則設為0
__
cplusplus
該巨集有定義說明使用的是c++編譯器
__
objc__
設定為1時,表示使用的是objective-c編譯器
__
assembler__
設定為1時,表示正在處理組合語言
除了上述標準預定義巨集,還有一些預定巨集也經常用到,比如:
__
function__
:當前所在函式名
__
func__
:同__
function__
對於__
file__
,__
line__
,__
func__
,__
function__
這樣的巨集,在除錯程式時是很有用的,因為你可以很容易的知道程式執行到了哪個檔案的那一行,是哪個函式。而對於__
date__
,__
time__則可以獲取編譯時間,可以根據此資料作為版本標識,並依此判斷哪個版本新些及是否需要公升級。
#include
void func1()
int main()
輸出結果為:
the file is ../main.cppthis is line 10
the date is aug 27 2017
the time is 16:06:34
this function is main
this is c++ compiler
this is line 4
this function is func1
C C 預定義巨集
下面描述的巨集定義,不需引用其他標頭檔案,直接可用於 中。特定的作用給我們提供了不少的便利。分別描述如下 1 file line function 或者 func file 當前程式行所在原始檔名稱,標準c支援,該巨集當做字串對待 line 當前程式行所在原始檔內的行號,標準c支援,該巨集當做整形對...
C C 幾個預定義的巨集
一邊情況下,c c 編譯器會內建幾個巨集,這些巨集定義不僅可以幫助我們完成跨平台的原始碼編寫,靈活使用也可以巧妙地幫我們輸出非常有用的除錯資訊。ansi c標準中有幾個標準預定義巨集 也是常用的 編譯器在進行原始碼編譯的時候,會自動將這些巨集替換為相應內容。下面的 不僅展示了各個預定義巨集的使用,還...
C C 中的五個預定義的巨集名
c c 中的五個預定義的巨集名,它們是 line file date time stdc c 中還定義了 cplusplus 如果編譯器不是標準的,則可能僅支援以上巨集名中的幾個,或根本不支援。記住編譯程式也許還提供其它預定義的巨集名。date 進行預處理的日期 mmm dd yyyy 形式的字串文...