以下に示すように PRINTF MACRO を定義します。
#if(PRINTF_VERSION & PRINTF_DISABLE)
#define CYPRINTF
#else
#define CYPRINTF printf
#endif
しかし、印刷が無効になっていると、以下の警告が表示されました。
warning: statement with no effect
以下のソリューションを試してみましたが、GCC コンパイラではうまく動作しますが、可変長 MACRO をサポートしていないコンパイラでは動作しません。
#if(PRINTF_VERSION & PRINTF_DISABLE)
#define CYPRINTF(format, ...)
#else
#define CYPRINTF printf
#endif
警告が発行されないように非ログ マクロを変更するにはどうすればよいですか?
ノート:
- コンパイルフラグを追加したくありません
-Wunused-value
。 - 可変長 MACRO を使用したくありません。
- printf が無効になっている場合は、システム パフォーマンスへの影響を避けるために、すべてのコードを削除する必要があります。