2015年9月22日 星期二

C 語言程式設計 - 除錯用巨集範例(print message for debugging)

這是一個可重複使用, 事先定義在 common header 中, 用來列印除錯訊息的範例.

主要是利用 __FILE__, __LINE__, __FUNCTION__ 等 compilier build-in 提供的資訊.
此時所有的 debug message 就不用再次(重覆)寫這幾個內容.

#define DBG_PRINTF_EN   (0)

#define DBG_PRINTF(fmt, ...)                                                            \
do {                                                                                    \
    if (DBG_PRINTF_EN)                                                                  \
        printf("%s:%d:%s(): " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);    \
} while (0)