Doxygen是事实上的标准工具,可从带注释的C ++来源生成文档,但它也支持其他流行的编程语言,例如C,Objective-C,C#,PHP,Java,Python,IDL(Corba,Microsoft和UNO / OpenOffice等) ),Fortran,VHDL,Tcl以及某种程度上为D。

Doxygen可通过三种方式为您提供帮助:

它可以$ \ mbox {\ LaTeX} $从一组已记录的源文件中生成在线文档浏览器(HTML)和/或离线参考手册(in )。还支持在RTF(MS-Word),PostScript,超链接的PDF,压缩的HTML和Unix手册页中生成输出。该文档是直接从源代码中提取的,这使得使文档与源代码保持一致变得容易得多。
您可以配置 doxygen从未记录的源文件中提取代码结构。这对于在大型源发行版中快速找到您的方式非常有用。Doxygen还可以通过包括依赖关系图,继承图和协作图来可视化各个元素之间的关系,这些依赖图,继承图和协作图都是自动生成的。
您也可以使用doxygen来创建常规文档(就像我在doxygen用户手册和网站上所做的那样)。
Doxygen是在Mac OS X和Linux下开发的,但设置为高度可移植的。结果,它也可以在大多数其他Unix版本上运行。此外,还提供Windows可执行文件。

注释


  1. /**
  2. * xxx
  3. */

Sphinx

安装主题

  1. pip install sphinx_rtd_theme

配置主题

配置conf.py文件

  1. html_theme = sphinx_rtd_theme

生成call graph

重要参考
https://keenjin.github.io/2020/08/code_visualize/

安装

  1. yum install graphviz -y
  2. yum install doxygen -y

Doxyfile标准文件

进入源码目录,执行doxygen -g 即可生成

编辑Doxyfile文件

https://developer.aliyun.com/article/422684

配置文件
https://www.doxygen.nl/manual/config.html

  1. HAVE_DOT = YES
  2. EXTRACT_ALL = YES
  3. EXTRACT_PRIVATE = YES
  4. EXTRACT_STATIC = YES
  5. CALL_GRAPH = YES
  6. CALLER_GRAPH = YES
  7. #DISABLE_INDEX = YES
  8. GENERATE_TREEVIEW = YES
  9. RECURSIVE = YES

上面配置应该会所有类型全部导出

  1. HTML_OUTPUT=myhtml # 配置输出目录名
  2. INPUT=xxx xxx xxx
  3. FILE_PATTERNS=*.h *.c

xxxxx

doxygen Docxyfile

生成html文件,在html文件夹,配合latex使用。我在虚拟机中生成的,为了外层方便使用,需要建立一个http server,使用python3非常方便

yum install python3 -y
cd squid-5/html/
python3 -m http.server 8080

在主机浏览器中,输入ip:8080,即可访问