今天在看freertos**看到如下**:
開機初始化:
log_create_module(template, print_level_info);
巨集定義:
#define log_create_module(_module, _level) \
log_control_block_t log_control_block_##_module = \
#endif /* mtk_debug_level_none */
此部分利用#difine巨集定義乙個型別為log_control_block_t 的log_control_block_##_module 並做初始化
在#define中,標準只定義了#和##兩種操作。#用來把引數轉換成字串,##則用來連線兩個前後兩個引數,把它們變成乙個字串。
以下是log_control_block_t的結構體定義:
/*** @brief log context definition
*/typedef struct log_control_block_t;
C語言中 和 用法
一 基本的用法 1 引數名以 作為字首則結果將被擴充套件為由實際引數的帶引號的字串。如 12 3456 78 define dprint expr printf expr d n expr intmain 上面的例子會列印出 a b 2 2 預處理器運算子 為巨集提供了一種連線實際引數的手段。如果替...
C語言中 和 的用法
使用 把巨集引數變為乙個字串,用 把兩個巨集引數貼合在一起.include includeusing namespace std define str s s define cons a,b int a e b int main 當巨集引數是另乙個巨集的時候,需要注意的是凡巨集定義裡有用 或 的地方...
c語言中 和 的用法
原文有些錯誤,修正一下。一 一般用法 我們使用 把巨集引數變為乙個字串,用 把兩個巨集引數貼合在一起.用法 include include define str s s define cons a,b int a e b int main 二 當巨集引數是另乙個巨集的時候 需要注意的是凡巨集定義裡有...