基本内容
條件編譯語句排版時,需考慮以下三種位置:
(1)條件編譯語句塊與函數定義體之間不存在相互嵌套(主要在(.h)文件中)
條件編譯關鍵字語句頂格左對齊;所含的#include語句(塊)#define語句(塊)甚至是被嵌套下級條件編譯語句塊,按照語句塊嵌套的排版方式進行縮進排版。
(2)條件編譯語句塊嵌套在函數體之外(主要在(.c)文件中)
這種情況下,條件編譯語句塊不影響函數體條件編譯關鍵字語句頂格左對齊;所含的函數體定義無需縮進,依舊按照單個函數體定義的排版方式進行。
(3)條件編譯語句嵌套在函數體内(主要在(.c)文件中)
a)當條件編譯語句塊與被包語句所屬的語句塊之間沒有邏輯路徑交叉時,以下兩種方式均可按照語句塊嵌套方式進行縮進排版(推薦);條件編譯語句不影響原先語句塊排版,條件編譯語句與所包含的關鍵字語句塊左對齊。
b)當條件編譯語句塊與被包語句所屬的語句塊之間存在邏輯路徑交叉時。條件編譯語句頂格左對齊,其它語句按照正常順序排版。
背景
條件編譯是指預處理器根據條件編譯指令,有條件地選擇源程序代碼中的一部分代碼作為輸出,送給編譯器進行編譯。主要是為了有選擇性地執行相應操作,防止宏替換内容(如文件等)的重複包含。



















