Doxygenで文書化されたC++プロジェクトでは、Doxygenコメントでいくつかの関数を\deprecatedとしてマークしました。別の非推奨ではない関数が非推奨の関数を呼び出していることを検出するために、これらのコメントを(Doxygenまたは別のツールで)使用する方法はありますか?(プロジェクトはかなり大きく、すべてのクラスを通過するには多くの時間がかかります)。
ありがとう
Doxygenで文書化されたC++プロジェクトでは、Doxygenコメントでいくつかの関数を\deprecatedとしてマークしました。別の非推奨ではない関数が非推奨の関数を呼び出していることを検出するために、これらのコメントを(Doxygenまたは別のツールで)使用する方法はありますか?(プロジェクトはかなり大きく、すべてのクラスを通過するには多くの時間がかかります)。
ありがとう
GCC または clang を使用してコードをコンパイルしている場合は、関数に手動で注釈を付けることができます。
__attribute__((__deprecated__))
void dep_fun() { }
次に、コード内の任意の場所を呼び出す dep_fun
と、診断メッセージが出力されます。
doxygen の\deprecated
アノテーションを一貫して配置すると、sed などのツールを使用してコードを自動的に更新できるはずです。
Benjamins の回答に基づく構築: いくつかの便利なコンパイラ ディレクティブ:
#ifdef _MSC_VER
#define DEPRECATED __declspec(deprecated)
#elif defined(__GNUC__) | defined(__clang__)
#define DEPRECATED __attribute__((__deprecated__))
#else
#define DEPRECATED
#endif
//usage:
DEPRECATED void foo(int bar);
(警告: clang と msc ではテストされておらず、GNUC でのみテストされています。)