預處理指令和巨集

2021-07-24 09:49:03 字數 486 閱讀 7271

1.預定義指令:

_file_  //進行編譯的原始檔

_line_  //檔案當前的行號

_date_ // 檔案被編譯的日期

_time_  //檔案被編譯的時間

_stdc_  //如果編譯器遵循ansi c,其值為1,否則未定義。

這樣可以輸出當前編譯檔案的相關資訊

2.巨集和函式的區別:

(1)巨集允許把引數替換到文字中。巨集引數和#define定義可以包含其他#define定義的符號,不但可以出現遞迴。巨集可以非常頻繁的執行簡單的操作,比如再兩個表示式中尋找其中較大或較小的乙個。巨集的名字都是大寫。

(2)巨集比函式在程式的規模上和速度上更好。更重要的是,函式的引數必須申明為一種特定的型別,但巨集可以用於整形、長整型、字元型、雙浮點型以及其他任何可以使用》比較的型別。巨集是型別無關的。

(3)和函式相比,使用巨集的不利之處在於每次使用巨集時,乙份巨集定義的**拷貝將插入到程式中,除非巨集非常短,否則程式將會大幅度增長。

預處理指令與巨集

剛接觸到mfc程式設計的人往往會被mfc 嚮導生成的各種巨集定義和預處理指令所嚇倒,但是預處理和巨集定義又是c語言的乙個強大工具。使用它們可以進行簡單的源 控制,版本控制,預警或者完成一些特殊的功能。乙個經典的例子 使用預處理與巨集定義最經典的例子莫過於加在乙個標頭檔案中以避免標頭檔案被兩次編譯。試...

預處理和巨集

2019獨角獸企業重金招聘python工程師標準 檔案包含 include 到系統指定的路徑尋找,一般是 user include include 優先從當前目錄開始,一般適用於自定義標頭檔案。define pi 3.1415單純的替換 注意 不要加等號,不要末尾加分號。define max x,y...

C if endif和預處理指令

目錄 參考部落格 朝向遠方 仧砉以前自己做開發的時候,基本沒有怎麼用過c 的 if之類的預處理指令。實習了之後,發現專案中c 部分用了很多預處理指令。所以學習了一下。這幾個 if的用法和if else語句差不多,都是如果滿足條件則會執行。但不同的是這裡往往使用的是預處理指令。舉個小栗子 使用系統內建...