以前也聽說過巨集,但是沒有引起重視,現在看到什麼巨集之類的,感覺很是高深,於是查詢資料n久,算是對其乙個大致的了解。
巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括:巨集定義、檔案包含、條件編譯。
1. 不帶引數
巨集定義又稱為巨集代換、巨集替換,簡稱「巨集」。
格式:#define
識別符號 字串
其中的識別符號就是所謂的
符號常量,也稱為「巨集名」。
預處理(
預編譯)工作也叫做巨集展開:將巨集名替換為字串。
掌握"巨集"概念的關鍵是「換」。一切以換為前提、做任何事情之前先要換,
準確理解之前就要「換」。
例:
#define pi
3.1415926
把程式中出現的pi全部換成
3.1415926 2.
帶引數除了一般的字串替換,還要做引數代換。
格式:
#define
巨集名(參數列) 字串
例如:
#define
s(a,b) a*b
area=s(3,2);第一步被換為area=a*b; ,第二步被換為area=3*2;
3.關於#ifdef
電腦程式語句,我們可以用它區隔一些與特定
標頭檔案、
程式庫和其他
檔案版本有關的**。
可翻譯為:如果
巨集定義了語句1則程式2。
12
3
#ifdef 語句1
// 程式2
#endif
作用:我們可以用它區隔一些與特定
標頭檔案、
程式庫和其他
檔案版本有關的**。
巨集定義的一些用法
c及c 通過預處理器提供了一些語言功能,最常用的有 include指令,用於包含標頭檔案,其他如 define及巨集定義,也被稱為巨集替換,當編譯器編譯到帶巨集定義的語句時,會直接替換為定義語句.例如,假如我定義有 define maxlength 100,那麼,在編譯器編譯到所有maxlength...
關於巨集的一些說明
巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 預處理 預編譯 工作也叫做巨集展開 將巨集名替換為字串。掌握 巨集 概念的關鍵是 替換 一切以替換為前提。預處理器是先於編譯器執行的 例 define pi 3.14 ...
關於platform driver的一些巨集知識
我在寫platform驅動的時候參考了一些linux已有的platform driver 發現了一些我不知道的知識點在這裡和大家分享一下。一 巨集module platform driver 在platform device.h 中定義 我們繼續追蹤 module driver,在device.h中...