編譯C程序有很多步驟,其中第一步被稱作預(yù)處理(preprocessing) ,C預(yù)處理器在源代碼被編譯之前對(duì)其做一些文本性質(zhì)的操作。主要任務(wù)包括刪除注釋、插入被#include指令包含的文件內(nèi)容、定義和替換由#define指令定義的符號(hào)以及確定代碼的部分內(nèi)容是否應(yīng)該根據(jù)一些條件編譯指令進(jìn)行編譯
一.簡(jiǎn)單的字符替換 ?
二.帶有參數(shù)宏
三.宏參數(shù)插入到字符串中
#argunemt 被處理器翻譯成argument
四.移除一個(gè)宏定義 然后重新定義宏定義
五.判斷一個(gè)符號(hào)是否被定義?
六.利用 ## 連接宏兩邊的符號(hào) 合并成一個(gè)符號(hào)
警告總結(jié):
不要在一個(gè)宏定義的末尾加上分號(hào),使其成為一個(gè)完整的語(yǔ)句冗恨。
在紅定義中使用參數(shù),一定要注意在它們周圍加上括號(hào)味赃,在整個(gè)宏定義兩邊加上括號(hào)
避免使用宏定義函數(shù)實(shí)現(xiàn)較長(zhǎng)序列的代碼