1.#define 定義編譯期間的常量
2.#undef 取消編譯期間的常量
3.#ifdef (條件編譯)
#else
#endif
看下面的乙個例子:
#undef debug //取消debug常量
#define debug //定義debug常量,表達執行程式時有除錯結果
#ifdef debug //如果已經定義了debug常量(除錯時)
#define dprintk(x
) //定義dprintk常量,會輸出當前函式,當前行.
#else //沒有定義debug常量,則不輸出當前函式之類的除錯結果
#define dprintk(x
) (void)(0)
#endif
__function__,__line__是預定義的巨集.另外,"x...",printk(##x)表達本身結果.
dprintk( "adc opened\n"); //執行後的結果為:"當前函式 當前行:adc opened"
C 預處理器命令
在最開始接觸預處理指令時,是使用 region和 endregion,可以摺疊 塊,方便檢視。使用它可以將隸屬於乙個小模組的內容放到一起,摺疊起來,只有在檢視的時候再開啟,有強迫症的應該會很喜歡。看書剛好翻到了這,就把這部分記錄下來,給自己提個醒。預處理器指令不會轉化為可執行 而是影響 的編譯過程,...
預處理器小結
預處理器發生在程式被編譯之前,所有的預處理器指令都以 開頭。1.include預處理器指令 使指定檔案的乙個副本被包含到指令所在的位置。include 與 include filename 區別 簡單不加以說明 include 指令用於包含標準類庫標頭檔案,也可以用於由多個原始檔組成的程式。2.in...
預處理器簡介
預處理是c編譯器做的第一件事情,主要是做一些文字方面的工作。包括 刪除注釋 插入被 include包含的檔案 定義和替換由 define指令定義的符號以及 的部份內容,和條件編譯。預定義符號 預定義符號如下表所示 file 進行編譯的檔名 line 檔案的當前行號 date 檔案編譯的日期 time...