可能性の重複:
How to make a variadic macro (variable number of arguments)未定義のパラメータを受け入れるCマクロを使用できますか?
私はprintf
に類似の引数を受け入れ、それらをログに記録し、基本的なCでのログマクロを持っていると思います。しかし、私はそれがどのようにログに記録される(ログレベル、ファイル対stderr
など)は、実行時ではなくコンパイル時に設定されることが必要です。メソッドは何もせず、低レベルのロギングを無視するようにパラメータを設定すると、うまくいけばコードから最適化されます。
これまでのところ、私はコンパイル時に定義されたパラメータに基づいて定義されたマクロを持っています。パラメータが定義されている場合、ログはログメソッド(ログに記録する)に、それ以外の場合はstderr
に移動します。しかし、私はこのマクロに文字列を渡すことしかできません。 logメソッドは、無限の数の引数を取ることができ、printf
構文を使用して動作します。マクロを設定する方法があるかどうかを知りたいので、ログファイルに不定数の引数を渡します。
私はそれができないと思うので、基本的なC(私はC++やブーストを使うことはできません)で必要なものを達成する別の方法があります。