Doxygen-如何在不生成图形的情况下生成文本调用关系结果

时间:2018-10-15 09:27:31

标签: c++ c doxygen

我正在使用Doxygen来获取c / c ++项目的整个函数调用图。我设置了HAVE_DOT = YESCALL_GRAPH = YES。它可以帮助获得正确的结果,但是对于大型项目,使用点生成PNG会花费很多时间。我想获得没有PNG的文本结果,以避免浪费时间。但是我不知道如何配置。在不生成PNG的情况下获取.DOT文件将是完美的选择。

2 个答案:

答案 0 :(得分:0)

对于图形表示,doxygen具有CALL_GRAPHCALLER_GRAPHHAVE_DOT配置设置。

对于文本表示形式,有以下设置:REFERENCED_BY_RELATIONREFERENCES_RELATION,这些设置导致每个功能的结果。

摘自OP的评论:

  

但这只是帮助我了解函数中调用了哪些实体。一世   无法获得该项目的整个调用图。

  

我想要的是在文本图(如.DOT)中获取函数调用图而不生成PNG。

doxygen不直接支持。完成某件事有一个卑鄙的把戏:

  • HAVE_DOT设置为YES
  • CALL_GRAPH设置为NO
  • 在需要关联的功能上添加:\callgraph
  • 卑鄙的把戏:
    • DOT_CLEANUP设置为NO
    • DOT_PATH设置为dot可执行文件不驻留的路径
    • DOT_GRAPH_MAX_NODES设置为适当的值
    • MAX_DOT_GRAPH_DEPTH设置为适当的值

这将导致一个dot文件(例如html目录中)具有所请求的关系。

答案 1 :(得分:0)

您可以查看以下手册: http://www.doxygen.nl/manual/diagrams.html

设置CALL_GRAPH = NO可能会起作用,因为它不会创建图形表示。

查看手册中\hidecallgraph\callgraph的用法。