【问题标题】:Why does doxygen always reprocess every file?为什么 doxygen 总是重新处理每个文件?
【发布时间】:2023-10-26 21:40:01
【问题描述】:

构建项目时,仅重新编译上次构建后更改的文件。是否有可能在 doxygen 中获得类似的行为?

现在,doxygen 似乎总是在运行时对其生成的文件进行清理/重建。

对于大型项目,这样的优化会节省大量时间。

【问题讨论】:

  • 所以在完成代码更改之前不要运行它。我看不出在渲染文档中引入依赖解析的复杂性可能是值得的。
  • 有人读过 doxygened 文档吗?如果没有,只在代码发布时生成。
  • @cup:doxygen 文档在开发过程中也非常有用。
  • @LightnessRacesinOrbit 技术人员确实需要它,因为他们中的大多数人严重缺乏读心能力。
  • 所以,为了让这个堆栈中至少有一个有用的评论:自从这篇文章以来,你有没有找到一种方法来做到这一点?我正在运行完全相同的问题,并且 Doxygen 过程需要很长时间,这是非常有问题的。

标签: c++ optimization build doxygen


【解决方案1】:

不幸的是,doxygen 是一个一次性程序:它读取一些源文件并写入一些 html 文件。

为了能够像 C/C++ 一样工作,它需要有单独的“编译”(解析源文件并将可能的传入和传出引用写入“对象”文件)和“链接”(读取“对象”文件并解决所有参考)步骤。实现这一点作为练习:)

然后你就不得不担心源文件和头文件了……更麻烦的是它是值得的,所以没有人实现它。

【讨论】:

  • 嗯,已经有一个足够灵活的编译器和链接器用于此目的:LLVM