資料:變動長度參數的巨集 Variadic Macro

Variadic Macro 稱為「變動長度參數的巨集」或是「不定長度參數的巨集」。

http://en.wikipedia.org/wiki/Variadic_macro

這項功能是C99標準的一環,個人認為是很好用的方法。Variadic Macro可以透過定義巨集,來決定是否要多印所屬行號__LINE__與所處檔案等額外訊息,所以我在Linux上寫程式的時候就常常拿來除錯之用。由於GCC很早就支援了Variadic Macros的功能,害我一直認為這是很普遍的功能,現在要用BCB 6.0就沒有支援Variadic Macros,就有點不太適應。Visual C++ 6.0也沒有支援,不過Jeff Hung學長應工作上需要,實作出相似的功能。


#define LOGD(...) printf(__VA_ARGS__);
#define LOGE(...) fprintf(stderr,__VA_ARGS__);
#define LOGI(...) printf(__VA_ARGS__);

留言