C語言預定義巨集( LINE DATE

2021-09-05 01:35:29 字數 704 閱讀 2928

ansic標準定義了以下5種可供c語言使用的預定義巨集: 

__line__ 在源**中插入當前源**行號 

__file__ 在源**中插入當前源**檔名 

__date__ 在源**中插入當前編譯日期〔注意和當前系統日期區別開來〕 

__time__ 在源**中插入當前編譯時間〔注意和當前系統時間區別開來〕 

__stdc__ 當要求程式嚴格遵循ansic標準時該識別符號被賦值為1。 

識別符號__line__和__file__通常用來除錯程式; 

識別符號__date__和__time__通常用來在編譯後的程式中加入乙個時間標誌,以區分程式的不同版本; 

當編譯器嚴格遵循ansic標準時,識別符號__stdc__就會被賦值為1。

如果編譯器不遵循標準時,則可能僅支援以上巨集名中的幾個,或根本不支援;不同的編譯器可能會提供其他預定義的巨集名。

以下是在linux c 中的**及其在gcc編譯器中的執行效果:

源**檔名test.c

#include

int main()

編譯執行結果如下:

[root@localhost test]# gcc test.c 

[root@localhost test]# ./a.out

5main

21:25:52

may 30 2016

test.c

1

C語言預定義巨集

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

C語言預定義巨集的使用

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

預定義,巨集定義

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