關於巨集定義的一些理解

2021-06-19 13:55:16 字數 996 閱讀 2705

以前也聽說過巨集,但是沒有引起重視,現在看到什麼巨集之類的,感覺很是高深,於是查詢資料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中...