void f (int);は関数宣言として適切に解析されますが、
const int (a);も名前が
int
の関数宣言と見なされます。なぜなら、構文のみが解析され、意味論は解析されないからです。 冗長な中括弧が検出できる場合、例えば、int *(a[20]);Doxygenは中括弧を削除し、結果を正しく解析します。
ドキュメントに含まれるコード断片内のすべての名前がリンクに置き換えられるわけではなく(たとえば、SOURCE_BROWSER = YES
を使用する場合)、オーバーロードされたメンバーへのリンクが間違ったメンバーを指す場合があります。 これは、各関数に対して生成される「参照元」リストにも当てはまります。
部分的には、これはコードパーサーが現時点では十分に賢くないためです。 今後、これを改善するよう努めます。 しかし、これらの改善があったとしても、コード断片が見つかったコンテキストに関する曖昧さや情報不足の可能性があるため、すべてを対応するドキュメントに適切にリンクできるわけではありません。
Doxygenの開発は、皆様からのインプットに大きく依存しています!
Doxygenを試している場合は、それについてどう思うか教えてください(特定の機能が欠けていますか?)。 たとえ使用しないと決めた場合でも、理由を教えてください。
バグはGitHubのissue trackerで追跡されます。 新しいバグを送信する前に、まずデータベースを検索して、同じバグが他の人によって既に送信されていないか確認してください。 新しいバグを見つけたと確信した場合は、報告してください。
何かがバグかどうか確信がない場合は、まずユーザーメーリングリストまたはStack Overflow(doxygen
ラベルを使用)でヘルプを求めてください(購読が必要です)。
バグの(曖昧な)説明だけを送信した場合、通常はあまり役に立たず、私があなたが何を意味するのか理解するのにさらに時間がかかります。 最悪の場合、バグレポートは私によって完全に無視される可能性さえあります。そのため、常にバグレポートに次の情報を含めるようにしてください。
doxygen --version
を使用するか、もう少し詳しい情報が必要な場合は doxygen --Version
を使用してください)。-s
フラグを付けてDoxygenを使用してください(既存の構成ファイルからコメントを削除するには doxygen -s -u [configName]
を使用してください。 さらに良いのは、使用した [configName]
で -x
または -x_noenv
フラグを使用して、使用された設定とDoxygenのデフォルト設定の違いを取得することです。したがって、doxygen -x [configName]
です)。doxygen -d
を実行します。 preprocessor
オプションは、Doxygenが入力ファイルをどのように理解しているかについてのヒントを提供する可能性があります。あなたは(そして推奨されています)報告されたバグのパッチを追加することができます。 そうする場合は、プルリクエストフォームのタイトルとして「issue #NUMBER TITLE」を使用してください。ここで、「NUMBER」と「TITLE」はGitHub上の関連するissueを指します。
既存のバグと制限を修正する方法についてアイデアがある場合は、開発者メーリングリスト(購読が必要です)で議論してください。 パッチは、バグトラッカーまたはメーリングリストを介して送信したくない場合は、doxyg.nosp@m.en@g.nosp@m.mail..nosp@m.com に直接送信することもできます。
パッチの場合は、「diff -uN」を使用するか、変更したファイルを含めてください。 複数のファイルを送信する場合は、すべてをtarまたはzipで圧縮して、私が保存およびダウンロードする必要があるファイルを1つだけにしてください。