画各个cpp代码之间关系的软件
Doxygen
这个软件可以用来画出代码函数的调用关系图。
我下载的是windows版本的doxygen(doxygen-1.9.6-setup.exe),安装;还要下载和安装graphviz:( http://www.graphviz.org/)。
打开doxywizard,选左边菜单栏的wizard,然后填写这几项:

wizard选项卡中,选择Project Name作为工程名称,将来会显示在文档的标题中;选择Source code directory,设置源代码所在目录,Destination directory设置文档的生成目录;选择Scan recursively则递归分析源代码目录中的子目录内的源代码。
点左边菜单栏的expert,点build,勾选这几项:

勾选Build选项中的与函数有关的选项,EXTRACT_ALL必须勾选。
再点菜单栏的dot,填写这几项:

由于使用到了Graphviz,所以要设置Dot选项,勾选HAVE_DOT,并设置DOT_PATH为Graphviz的bin目录。勾选CALL_GRAPH和CALLER_GRAPH,生成函数调用关系图。

最后选择Run选项卡,点击Run doxygen,生成文档文件。
打开文档文件,在函数的分析中即可看到函数调用图。
比如我其中一个例子的路径是:K:/c_practice/doxygen_test_2/output/html/index.html
点开,就能在浏览器看见关系图
比如我要看的代码是 wenet_api.cc
,可以看见它的结构是:

里面定义了一个类叫recognizer,定义了一些函数。
recognizer类里有一个函数decode(),下图表示它里头调用了函数,分别是recognizer::initdecoder()和recognizer::updateresult();它被wenet_decode函数调用了。

各个软件
chatgpt
有很多软件可以帮助您绘制各个C++代码之间的关系,以下是其中一些常见的:
- Visual Studio:Visual Studio是一个非常强大的IDE,其中包括UML建模工具,可以帮助您绘制各个C++代码之间的关系。
- Doxygen:Doxygen是一种工具,可以生成代码文档,并在文档中包含各个C++代码之间的关系图。
- Code Visual to Flowchart:Code Visual to Flowchart是一种可帮助您将C++代码转换为流程图和UML图的工具。
- Dia:Dia是一种开源绘图工具,可以用于创建各种类型的图表,包括UML图,可以用于绘制各个C++代码之间的关系。
- Microsoft Visio:Microsoft Visio是一种专业的绘图软件,可以用于创建各种类型的图表,包括UML图,可以用于绘制各个C++代码之间的关系。
这些工具都有其自身的优缺点和使用限制,具体选择应该根据您的需求和偏好来决定。