常見巨集定義
#include
#define
#define msg(str) fprintf(stderr,"file:%s line:%d function:%s\n%s\n",__file__,__line__,__func__,str)
#ifdef
#ifndef
#else
#elif
#endif
#undef
#error
#line
#pragma
#pragm gcc dependency "lexgen.tbl"
#pragma gcc poison memcpy memmove 指定名字的時候都會發出訊息,確保從未呼叫指定函式
#pragma gcc
_pragma 替代#pragma作為巨集內的一部分包含生成巨集內部的#pragma指示字
#warning
#include_text 同#include
## 連線操作符,可用於巨集內將兩個字串連線成乙個
巨集定義的符號
在預處理階段就展開了 define巨集定義中的 及 符號 1 stringizing 字串化操作符。其作用是 將巨集定義中的傳入引數名轉換成用一對雙引號括起來引數名字串。其只能用於有傳入引數的巨集定義中,且必須置於巨集定義體中的引數名前。如 define example instr printf t...
預定義符號與巨集
預處理器在原始碼編譯之前進行的一些文字性質的操作,它的主要任務包括刪除注釋,插入被 include指令包含的檔案內容,定義和替換由 define指令定義的符號以及確定 的部分內容是否應該根據一些條件編譯指令進行編譯。date 字串常量型別,表示當前所在原始檔的編譯日期,輸出格式為mmm dd yyy...
iOS常見巨集定義
最基本的巨集定義語法有兩種,一種是簡單的巨集定義,另一種是帶引數的巨集定義。基本定義 define 帶引數的巨集定義 define 多引數擴充套件 define lock osspinlocklock lock va args osspinlockunlock lock 判斷是否包含了某個frame...