C C中的預處理命令

2021-07-10 10:56:32 字數 964 閱讀 7136

<

分析》:

預編譯又稱為預處理 ,是做些**文字的替換工作。處理 # 開頭的指令 , 比如拷貝#include包含的檔案**, #define 巨集定義的替換 , 條件編譯等,就是為編譯做的預備工作的階段,主要處理#開始的預編譯指令,預編譯指令指示了在程式正式編譯前就由編譯器進行的操作,可以放在程式中的任何位置。

c/c++編譯系統在對程式進行通常的編譯之前,先進行預處理。 c 提供的預處理功能主要有以下三種:1 )巨集定義  2 )檔案包含  3 )條件編譯,以下為使用預處理命令時需要注意的地方:

(1)預處理命令可以放在程式的任何位置;

(2)預處理指令中不容許出現空格;

(3)一行上只能有一條預處理命令,乙個預處理命令可以放在多行,行尾用『\』表示;

(4)巨集名最好大寫,但是不是硬規定;

(5)巨集替換不占用程式執行時間,在編譯的時候進行;

(6)檔案包含#include是通過系統環境變數指定系統庫目錄進行查詢的,    #include「filename」是通過實在的使用者目錄下查詢的,使用者的目錄就是通過編譯器指  定的,如果查詢不到再去庫檔案裡查詢。庫檔案可以用<>也可以用「」,但是使用者定義   標頭檔案只能用「」,所以<>比」」查詢範圍小;

(7)預編譯器在編譯的時候按照程式前後順序就把值乙個乙個替換進去了,所以它不會考慮執行時候的邏輯關係,例如:

#define a 10

void foo();  // 函式宣告

int main()

void foo()

以上程式輸出是10..10

##################################

#define a 10

void foo()

int main()

以上程式50..50

####################################

C C 預處理命令

1.和 和 操作符是和 define 巨集使用的。使用 使在 後的首個引數返回為乙個帶引號的字串 例如 defineto string s s defineconcatenate x,y x y 2.define 命令用於把指定字串替換檔案中的巨集名稱 3.error 可以簡單的使編譯器在發生錯誤時...

c c 的預處理

c c 的預處理定義 一。stringizing operator 在c和c 中數字標誌符 被賦予了新的意義,即字串化操作符。其作用是 將巨集定義中的傳入引數名轉換成用一對雙引號括起來 引數名字串。其只能用於有傳入引數的巨集定義中,且必須置於巨集定義體中的引數名前。如 define example ...

C C 基礎 08 預處理命令

在前面各章中,已多次使用過以 號開頭的預處理命令。如包含命令 include,巨集定義命令 define等。在源程式中這些命令都放在函式之外,而且一般都放在原始檔的前面,它們稱為預處理部分。所謂預處理是指在進行編譯的第一遍掃瞄 詞法掃瞄和語法分析 之前所作的工作。預處理是 語言的乙個重要功能,它由預...