短縮版
コンパイラが未使用の変数に関する警告を出さないようにするために、マクロUNUSED
を次のように定義します。
UNUSED(x)=x __attribute__((__unused__))
このマクロは、次のようないくつかの関数のプロトタイプで使用されます。
void ext(int foo, int UNUSED( bar ) )
しかし、doxygen はこれに不満を持っており、いくつかの警告を返します:
/tmp/sandbox/main.cpp:13: warning: argument 'bar' of command @param is not found in the argument list of Dummy::ext(int foo, intUNUSEDbar)
/tmp/sandbox/main.cpp:13: warning: The following parameters of Dummy::ext(int foo, intUNUSEDbar) are not documented:
parameter 'UNUSED'
UNUSED
マクロを無視するように doxygen に指示するにはどうすればよいですか?
ロングバージョン
次のようなコードがあります。
#include <iostream>
class Dummy
//! Dummy class
{
public :
//!Dummy function
/**
* \param foo First variable
* \param bar Second variable
*/
void ext(int foo, int UNUSED( bar ) )
{
std::cout << "foo = " << foo << std::endl;
}
};
//!Main function
int main(void)
{
Dummy MyDummy;
MyDummy.ext(1, 2);
return 0;
}
呼び出してコンパイルします:
g++ -D 'UNUSED(x)=x __attribute__((__unused__))' main.cpp
という名前のデフォルトの doxygen 構成ファイルを生成するには、次のようDoxyfile
に入力します。
doxygen -g
最終的に、入力したドキュメントを生成するには:
doxygen Doxyfile
後者のコマンドは、次の警告を出力します。
/tmp/sandbox/main.cpp:13: warning: argument 'bar' of command @param is not found in the argument list of Dummy::ext(int foo, intUNUSEDbar)
/tmp/sandbox/main.cpp:13: warning: The following parameters of Dummy::ext(int foo, intUNUSEDbar) are not documented:
parameter 'UNUSED'