有關預處理器命令

2022-03-26 07:31:12 字數 559 閱讀 8100

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