我想插入一些調試輸出語句到一個大的C代碼庫。這些調試輸出語句將由編譯器選項開關控制。如何編寫擴展爲`#ifdef ...#endif`宏塊的C宏?
調試輸出語句如下所示:
#ifdef DEBUG_FLAG
Print(someSymbol)
#endif
爲了節省一些打字,我想知道是否有可能定義一個簡單的宏,擴展到上述調試輸出語句塊?
例如:
#define DBG_MACRO(someSymbol) (something that can expand to above)
這不能作爲替代值來完成,這裏的另一個宏本身會導致編譯時錯誤。 – sjsam
[相關](http://stackoverflow.com/q/2831934/335858) – dasblinkenlight
如果你想使用一個宏來進行調試打印,那麼請查看[C##define宏用於調試打印](http:// stackoverflow.com/questions/1644868/c-define-macro-for-debug-printing/)。至少在某種程度上有誘惑力把它作爲一個重複來關閉它。 –