C 常見預定義巨集的使用

2021-09-22 12:53:01 字數 782 閱讀 7737

在標準c以及各中編譯器中定義了一些物件巨集, 這些巨集的名稱以"__"開頭和結尾, 並且都是大寫字元. 這些預定義巨集可以被#undef, 也可以被重定義。

在ansi c標準中定義了__file__,linedata,time,__stdc__等標準的預定義巨集。gcc對其進行擴充套件,也定義了多個預定義巨集。

概括起來gcc中可使用的預定義巨集涵蓋了如下幾方面的資訊:

1、宿主的資訊:gnu的版本,編譯器的版本,型別的相關資訊,位元組序資訊等。

2、編譯動作的資訊:編譯的日期、時間;編譯時是否進行了時間或空間上的優化;定義的inline是否被編譯器執行等。

3、檔案的資訊:檔名稱、函式名稱、行數資訊、檔案最後修改時間等等。

4、計數資訊:counter,_include_level_等。

ansi c標準中有幾個標準預定義巨集:

file

date

time

line 等

line:在源**中插入當前源**行號;

file:在原始檔中插入當前源檔名;

date:在原始檔中插入當前的編譯日期

time:在原始檔中插入當前編譯時間;

stdc:當要求程式嚴格遵循ansi c標準時該標識被賦值為1;

__cplusplus:當編寫c++程式時該識別符號被定義。

參考文獻:

[1]

C語言預定義巨集的使用

ansic標準定義的6種c語言預定義巨集 line 表示當前源 的行號 file 表示當前原始檔的名稱 date 表示當前的編譯日期 time 表示當前的編譯時間 stdc 當要求程式嚴格遵循ansi c標準時該標識被賦值為1 cplusplus 當編寫c 程式時該識別符號被定義。要用到這幾個巨集定...

C語言預定義巨集

作用 對於 file line func 這樣的巨集,在除錯程式時是很有用的,因為你可以很容易的知道程式執行到了哪個檔案的那一行,是哪個函式。下面乙個例子是列印上面這些預定義的巨集的。date file line time function c標準中指定了一些預定義的巨集,對於程式設計經常會用到。下...

預定義,巨集定義

巨集定義 其作用就是 換其名曰 給程式中的一段特殊的 函式,資料取了個簡單明瞭的名字。不過有一點這傢伙的作用範圍是全域性的。即使它是在某乙個函式塊中定義的。這個其實也容易理解。因為巨集定義是預定義的一種,在我們的程式之前,由預編譯器 cpp 提前編譯出來了,那個時候程式裡的結構是個啥樣子編譯器壓根就...