重複の可能性:
可変引数マクロの作成方法 (可変数の引数)
と同様の引数を受け入れてprintf
ログに記録する、基本的な C のログ マクロが必要です。ただし、ログの記録方法 (ログ レベル、ファイル vsstderr
など) を、実行時ではなくコンパイル時に設定する必要があります。低レベルのロギングを無視するようにパラメーターを設定すると、メソッドは何もせず、うまくいけばコードから最適化されます。
これまでのところ、コンパイル時に定義されたパラメーターに基づいて定義されたマクロがあります。パラメータが定義されている場合、ログは私のログ メソッドに送られ (ファイルにログを記録する)、そうでない場合は に送られstderr
ます。ただし、このマクロには文字列しか渡すことができません。log メソッドは、無制限の数の引数を取ることができ、printf
構文を使用して機能します。ログ ファイルに無数の引数を渡すようにマクロを設定する方法があるかどうか知りたいですか?
そして、答えは私にはできないということだと思うので、基本的なCで私が望むものを達成する別の方法があります(私はC ++またはブーストを使用できません)。