スポンサーリンク

可変長引数マクロでprintf置き換えマクロを作成

識別子__VA_ARGS__を使って、可変長引数マクロを作成できます。
デバッグ用途にprintf関数でマクロを作成する時に便利ですね。

printfの置き換えマクロです。

下記のように、第一引数の値を見て、printfする内容を変えるマクロも作成できます。
SUCCESSならOKを出力、FALSEなら実行中のファイル名、行数、関数を出力します。
参考:[c言語]ファイル名・行数・関数名をprintf出力

参考:[c言語]マクロを複数行にするときの注意点(コンパイルエラー対策)

下記のような使い方も便利ですね。
DEBUG_XXが1ならprintf出力します。0ならprintf出力しないようになります。
デバッグなどでprintf出力したいときにはDEBUG_XXが1、そうでなければ0を定義します。

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

下記が実行結果になります。

スポンサーリンク