#define MY_PRINT(_format, ...) printf("MIME : %s" _format, __FUNCTION__, __VA_ARGS__);
"\nprint メッセージの最後に "を追加したいと思います。
しかし、
#define MY_PRINT_LN(_format, ...) MY_PRINT(_format "\n", ...)
コンパイルエラーがあります。...定義マクロでパラメータを渡す方法は?
あなたが使用する__VA_ARGS__:
#define MY_PRINT_LN(_format, ...) MY_PRINT(_format "\n", __VA_ARGS__)
これは C99 で標準化されました。
ただし、引数がない場合は、最後に冗長なコンマがあります。標準的な解決策はありませんが、GCC (およびおそらく他のコンパイラ) は拡張機能を提供しています。
#define MY_PRINT_LN(_format, ...) MY_PRINT(_format "\n", ## __VA_ARGS__)
extra を使用する##と、引数がない場合、最後のコンマが削除されます。