void f (int);被正确解析为函数声明,但
const int (a);也被视为一个名为
int 的函数声明,因为只分析了语法,而不是语义。如果可以检测到多余的括号,例如int *(a[20]);那么 Doxygen 将删除括号并正确解析结果。
并非所有包含在文档中的代码片段中的名称都替换为链接(例如使用 SOURCE_BROWSER = YES 时),并且指向重载成员的链接可能指向错误的成员。这对于为每个函数生成的“被引用”列表也适用。
部分原因是代码解析器目前不够智能。我将来会尝试改进这一点。但即使有了这些改进,也并非所有内容都能正确链接到相应的文档,因为可能存在歧义或缺乏关于代码片段所在上下文的信息。
Doxygen 的开发高度依赖于你的输入!
如果你正在尝试 Doxygen,请告诉我你的想法(你是否缺少某些功能?)。即使你决定不使用它,也请告诉我原因。
错误在 GitHub 的问题跟踪器中进行跟踪。在提交新错误之前,请先在数据库中搜索是否已有人提交过相同的错误。如果你认为你发现了一个新错误,请报告它。
如果你不确定某事是否是错误,请先在用户邮件列表或Stack Overflow(使用 doxygen 标签)寻求帮助(需要订阅)。
如果你只发送一个(模糊的)错误描述,通常帮助不大,我会花费更多时间来弄清楚你的意思。在最坏的情况下,你的错误报告甚至可能被我完全忽略,因此请始终尝试在错误报告中包含以下信息
-s 标志的 Doxygen 以使其保持较小(使用 doxygen -s -u [configName] 从现有配置文件中删除注释。更好的是,在使用的 [configName] 上使用 -x 或 -x_noenv 标志来获取使用设置和 Doxygen 默认设置之间的差异,即 doxygen -x [configName])。你可以(并且鼓励你)为报告的错误添加补丁。如果你这样做,请在拉取请求表单中将标题设置为“issue #NUMBER TITLE”,其中“NUMBER”和“TITLE”指的是 GitHub 上相关的 issue。
如果你有关于如何修复现有错误和限制的想法,请在开发者邮件列表(需要订阅)上讨论。如果你不想通过错误跟踪器或邮件列表发送补丁,也可以直接发送到 doxyg.nosp@m.en@g.nosp@m.mail..nosp@m.com。
对于补丁,请使用“diff -uN”或包含你修改的文件。如果你发送多个文件,请将所有内容打包或压缩,这样我只需保存和下载一个文件。