1. 程式人生 > 其它 >C語言複習(七)---C前處理器

C語言複習(七)---C前處理器

引言

C前處理器(C Preperocessor cpp)主要處理程式碼中的預處理命令,在編譯器之前執行---簡單的文字替換,替換後會生成對應的.i檔案

重要的預處理命令:---嵌入式開發常用

#include 匯入庫檔案
#define 定義巨集---定義常量,字串,資料型別的別名
#undef 取消已定義的巨集
#ifdef 如果巨集已經定義,返回真
#ifndef 如果巨集沒有定義,返回真
#if 如果給定條件為真,則編譯下面的程式碼
#else #if搭配使用
#elif #if配套使用
#endif 結束#if...#elif...#else
條件編譯塊
#error 遇到標準錯誤(stderr)時,輸出錯誤訊息
#pragma 使用標準化方法向編譯器釋出特殊的命令到編譯器中---做出特殊操作

預定義巨集

在ANSI C中定義,可以直接使用

DATE 當前日期,格式:MMM DD YYYY
TIME 當前時間,格式:HH:MM:SS
FILE 包含當前檔名,字串常量
LINE 包含當前行號,十進位制常量
STDC 編譯器以ANSI標準編譯時,定義為1

前處理器運算子

\---巨集延續運算子---可以在下一行寫入巨集的內容

#---字串常量化運算子---將巨集的引數轉化為字串常量

##

---標記貼上運算子---在巨集定義中兩個獨立的標記被合併為一個標記---qwq##233;//將qwq和233合為一個標記符

引數化的巨集

可以將一個簡單的函式作為一個巨集,不過要注意運算的順序

ex

#define Max(x,y) ((x)>(y)?(x):(y));