常見巨集定義符號

2021-10-04 04:14:12 字數 535 閱讀 5128

常見巨集定義

#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...