使用Doxygen为MATLAB代码生成调用图的半手动方案及问题咨询
MATLAB代码库Doxygen文档生成的调用图/协作图解决方案探索
我正在使用Doxygen为MATLAB代码库生成文档。由于Doxygen不原生支持MATLAB,采用了Fabrice开发的m2cpp.pl过滤器。该过滤器效果尚可,但无法让Doxygen自动生成调用图和协作图,我考虑了四种解决方案:
- 改进过滤器:这是最规范的方案,但过滤器由Perl编写,我几乎无相关经验,且当前维护的是不会变更、即将重构为Python的遗留代码库,投入时间不值得。
- 手动编写DOT:Doxygen通过DOT语言文件生成图表并由Graphviz渲染,我可通过Doxygen的
\dotfile命令添加自定义DOT文件,DOT语言简单,但手动定义调用和协作图繁琐且易产生大量重复代码。 - 半手动方案:我设想新增Doxygen命令
\calls,手动告知Doxygen函数调用关系(如示例中main()调用foo()和bar())。我知道这违反DRY原则易出错,但适配不会变更的遗留代码场景合理,咨询能否通过简单修改过滤器实现。 - 外部调用图生成器:存在支持MATLAB并输出DOT格式的调用图生成器,但我不清楚如何将其整合进现有流程,需要实现自动生成DOT文件并纳入Doxygen的自动化流程。
内容的提问来源于stack exchange,提问作者Isaac Blanc
相关产品推荐
相关产品推荐

