c89 gcc 4.7.4
私は次のようなマクロを試していました:
#define LOG_INFO_1(fmt, ...) printf(fmt, __VA_ARGS__)
#define LOG_INFO_2(...) printf(__VA_ARGS__)
そして、このように使用します:
LOG_INFO_1("%s:%d", __func__, __LINE__);
LOG_INFO_2("%s:%d", __func__, __LINE__);
出力はまったく同じ形式になります。fmt
最初のマクロで引数を使用することの利点は何ですか? 本当に必要ではないようです。どうすればそれを利用できますか?