当前位置: 首页 > news >正文

C 语言编程 — Doxygen + Graphviz 静态项目分析

目录

文章目录

  • 目录
  • 安装
  • 配置解析
    • Project related configuration options
    • Build related configuration options
    • Configuration options related to warning and progress messages
    • Configuration options related to the input files
    • Configuration options related to source browsing
    • Configuration options related to the alphabetical class index
    • Configuration options related to the HTML output
    • Configuration options related to the LaTeX output
    • Configuration options related to the RTF output
    • Configuration options related to the man page output
    • Configuration options related to the XML output
    • Configuration options related to the DOCBOOK output
    • Configuration options for the AutoGen Definitions output
    • Configuration options related to the Perl module output
    • Configuration options related to the preprocessor
    • Configuration options related to external references
    • Configuration options related to the dot tool
  • 使用
  • 附件

安装

$ yum install -y graphviz
$ yum install -y doxygen*

配置解析

  • 生成配置文件
$ doxygen -s -g doxyconfig

示例:

# Doxyfile 1.8.5#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING      = UTF-8
PROJECT_NAME           = "l2fwd"
PROJECT_NUMBER         =
PROJECT_BRIEF          =
PROJECT_LOGO           =
OUTPUT_DIRECTORY       = ./docs
CREATE_SUBDIRS         = YES
OUTPUT_LANGUAGE        = Chinese
BRIEF_MEMBER_DESC      = YES
REPEAT_BRIEF           = YES
ABBREVIATE_BRIEF       =
ALWAYS_DETAILED_SEC    = YES
INLINE_INHERITED_MEMB  = YES
FULL_PATH_NAMES        = YES
STRIP_FROM_PATH        =
STRIP_FROM_INC_PATH    =
SHORT_NAMES            = NO
JAVADOC_AUTOBRIEF      = NO
QT_AUTOBRIEF           = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS           = YES
SEPARATE_MEMBER_PAGES  = NO
TAB_SIZE               = 4
ALIASES                =
TCL_SUBST              =
OPTIMIZE_OUTPUT_FOR_C  = YES
OPTIMIZE_OUTPUT_JAVA   = NO
OPTIMIZE_FOR_FORTRAN   = NO
OPTIMIZE_OUTPUT_VHDL   = NO
EXTENSION_MAPPING      =
MARKDOWN_SUPPORT       = YES
AUTOLINK_SUPPORT       = YES
BUILTIN_STL_SUPPORT    = NO
CPP_CLI_SUPPORT        = NO
SIP_SUPPORT            = NO
IDL_PROPERTY_SUPPORT   = YES
DISTRIBUTE_GROUP_DOC   = NO
SUBGROUPING            = YES
INLINE_GROUPED_CLASSES = YES
INLINE_SIMPLE_STRUCTS  = YES
TYPEDEF_HIDES_STRUCT   = NO
LOOKUP_CACHE_SIZE      = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_PACKAGE        = YES
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = YES
EXTRACT_LOCAL_METHODS  = YES
EXTRACT_ANON_NSPACES   = YES
HIDE_UNDOC_MEMBERS     = NO
HIDE_UNDOC_CLASSES     = NO
HIDE_FRIEND_COMPOUNDS  = NO
HIDE_IN_BODY_DOCS      = NO
INTERNAL_DOCS          = YES
CASE_SENSE_NAMES       = YES
HIDE_SCOPE_NAMES       = YES
SHOW_INCLUDE_FILES     = YES
FORCE_LOCAL_INCLUDES   = YES
INLINE_INFO            = YES
SORT_MEMBER_DOCS       = YES
SORT_BRIEF_DOCS        = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES       = NO
SORT_BY_SCOPE_NAME     = NO
STRICT_PROTO_MATCHING  = NO
GENERATE_TODOLIST      = YES
GENERATE_TESTLIST      = YES
GENERATE_BUGLIST       = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS       =
MAX_INITIALIZER_LINES  = 30
SHOW_USED_FILES        = YES
SHOW_FILES             = YES
SHOW_NAMESPACES        = YES
FILE_VERSION_FILTER    =
LAYOUT_FILE            =
CITE_BIB_FILES         =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET                  = NO
WARNINGS               = YES
WARN_IF_UNDOCUMENTED   = YES
WARN_IF_DOC_ERROR      = YES
WARN_NO_PARAMDOC       = NO
WARN_FORMAT            = "$file:$line: $text"
WARN_LOGFILE           =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
INPUT                  = ./ /opt/dpdk-18.08/x86_64-native-linuxapp-gcc/include /opt/dpdk-18.08/x86_64-native-linuxapp-gcc/lib
INPUT_ENCODING         = UTF-8
FILE_PATTERNS          =
RECURSIVE              = YES
EXCLUDE                =
EXCLUDE_SYMLINKS       = NO
EXCLUDE_PATTERNS       =
EXCLUDE_SYMBOLS        =
EXAMPLE_PATH           =
EXAMPLE_PATTERNS       =
EXAMPLE_RECURSIVE      = YES
IMAGE_PATH             =
INPUT_FILTER           =
FILTER_PATTERNS        =
FILTER_SOURCE_FILES    = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER         = NO
INLINE_SOURCES         = NO
STRIP_CODE_COMMENTS    = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION    = YES
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS        = YES
USE_HTAGS              = NO
VERBATIM_HEADERS       = YES
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5
IGNORE_PREFIX          =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML          = YES
HTML_OUTPUT            = .
HTML_FILE_EXTENSION    = .html
HTML_HEADER            =
HTML_FOOTER            =
HTML_STYLESHEET        =
HTML_EXTRA_STYLESHEET  =
HTML_EXTRA_FILES       =
HTML_COLORSTYLE_HUE    = 220
HTML_COLORSTYLE_SAT    = 100
HTML_COLORSTYLE_GAMMA  = 80
HTML_TIMESTAMP         = NO
HTML_DYNAMIC_SECTIONS  = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET        = NO
DOCSET_FEEDNAME        = "Doxygen generated docs"
DOCSET_BUNDLE_ID       = org.doxygen.Project
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME  = Publisher
GENERATE_HTMLHELP      = NO
CHM_FILE               =
HHC_LOCATION           =
GENERATE_CHI           = NO
CHM_INDEX_ENCODING     =
BINARY_TOC             = NO
TOC_EXPAND             = NO
GENERATE_QHP           = NO
QCH_FILE               =
QHP_NAMESPACE          = org.doxygen.Project
QHP_VIRTUAL_FOLDER     = doc
QHP_CUST_FILTER_NAME   =
QHP_CUST_FILTER_ATTRS  =
QHP_SECT_FILTER_ATTRS  =
QHG_LOCATION           =
GENERATE_ECLIPSEHELP   = NO
ECLIPSE_DOC_ID         = org.doxygen.Project
DISABLE_INDEX          = NO
GENERATE_TREEVIEW      = ALL
ENUM_VALUES_PER_LINE   = 4
TREEVIEW_WIDTH         = 250
EXT_LINKS_IN_WINDOW    = NO
FORMULA_FONTSIZE       = 10
FORMULA_TRANSPARENT    = YES
USE_MATHJAX            = NO
MATHJAX_FORMAT         = HTML-CSS
MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS     =
MATHJAX_CODEFILE       =
SEARCHENGINE           = YES
SERVER_BASED_SEARCH    = NO
EXTERNAL_SEARCH        = NO
SEARCHENGINE_URL       =
SEARCHDATA_FILE        = searchdata.xml
EXTERNAL_SEARCH_ID     =
EXTRA_SEARCH_MAPPINGS  =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX         = NO
LATEX_OUTPUT           = latex
LATEX_CMD_NAME         = latex
MAKEINDEX_CMD_NAME     = makeindex
COMPACT_LATEX          = NO
PAPER_TYPE             = a4
EXTRA_PACKAGES         =
LATEX_HEADER           =
LATEX_FOOTER           =
LATEX_EXTRA_FILES      =
PDF_HYPERLINKS         = YES
USE_PDFLATEX           = YES
LATEX_BATCHMODE        = NO
LATEX_HIDE_INDICES     = NO
LATEX_SOURCE_CODE      = NO
LATEX_BIB_STYLE        = plain
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF           = NO
RTF_OUTPUT             = rtf
COMPACT_RTF            = NO
RTF_HYPERLINKS         = NO
RTF_STYLESHEET_FILE    =
RTF_EXTENSIONS_FILE    =
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN           = NO
MAN_OUTPUT             = man
MAN_EXTENSION          = .3
MAN_LINKS              = NO
#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML           = NO
XML_OUTPUT             = xml
XML_SCHEMA             =
XML_DTD                =
XML_PROGRAMLISTING     = YES
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
GENERATE_DOCBOOK       = NO
DOCBOOK_OUTPUT         = docbook
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF   = NO
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD       = NO
PERLMOD_LATEX          = NO
PERLMOD_PRETTY         = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = NO
EXPAND_ONLY_PREDEF     = NO
SEARCH_INCLUDES        = YES
INCLUDE_PATH           =
INCLUDE_FILE_PATTERNS  = *.c *.h
PREDEFINED             =
EXPAND_AS_DEFINED      =
SKIP_FUNCTION_MACROS   = YES
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
TAGFILES               =
GENERATE_TAGFILE       =
ALLEXTERNALS           = NO
EXTERNAL_GROUPS        = YES
EXTERNAL_PAGES         = YES
PERL_PATH              = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS         = YES
MSCGEN_PATH            =
HIDE_UNDOC_RELATIONS   = YES
HAVE_DOT               = YES
DOT_NUM_THREADS        = 2
DOT_FONTNAME           = Helvetica
DOT_FONTSIZE           = 10
DOT_FONTPATH           =
CLASS_GRAPH            = YES
COLLABORATION_GRAPH    = YES
GROUP_GRAPHS           = YES
UML_LOOK               = YES
UML_LIMIT_NUM_FIELDS   = 10
TEMPLATE_RELATIONS     = YES
INCLUDE_GRAPH          = YES
INCLUDED_BY_GRAPH      = YES
CALL_GRAPH             = YES
CALLER_GRAPH           = YES
GRAPHICAL_HIERARCHY    = YES
DIRECTORY_GRAPH        = YES
DOT_IMAGE_FORMAT       = png
INTERACTIVE_SVG        = YES
DOT_PATH               =
DOTFILE_DIRS           = ./docs/dots
MSCFILE_DIRS           = ./docs/mscs
DOT_GRAPH_MAX_NODES    = 50
MAX_DOT_GRAPH_DEPTH    = 0
DOT_TRANSPARENT        = NO
DOT_MULTI_TARGETS      = NO
GENERATE_LEGEND        = YES
DOT_CLEANUP            = NO

Project related configuration options

配置项作用
DOXYFILE_ENCODINGUTF-8,配置文件的编码格式。
PROJECT_NAME项目名称。
PROJECT_NUMBER项目的的版本号。
PROJECT_BRIEF项目的简短描述。
PROJECT_LOGO项目的 logo。
OUTPUT_DIRECTORY./docs,输出文档的目录。
CREATE_SUBDIRSYES,是否创建子目录。
OUTPUT_LANGUAGEChinese,输出文档的语言。
BRIEF_MEMBER_DESCYES,是否在类的简介中包含成员描述。
REPEAT_BRIEFYES,是否在详细描述中重复简介。
ABBREVIATE_BRIEF对简介进行缩写。
ALWAYS_DETAILED_SECYES,是否始终在分组中生成详细页面。
INLINE_INHERITED_MEMBYES,是否内联继承成员文档。
FULL_PATH_NAMESYES,是否在文件列表中使用完整的路径名。
STRIP_FROM_PATH从路径中剥离目录。
STRIP_FROM_INC_PATH从包含文件的路径中剥离目录。
SHORT_NAMESNO,是否使用短文件名。
JAVADOC_AUTOBRIEFNO,是否使用 JavaDoc 风格的简介。
QT_AUTOBRIEFNO,是否使用 Qt 风格的简介。
MULTILINE_CPP_IS_BRIEFNO,是否允许在 C++ 注释中使用多行简介。
INHERIT_DOCSYES,是否从父类继承文档。
SEPARATE_MEMBER_PAGESNO,是否为每个类的成员生成单独的页面。
TAB_SIZE4,指定选项卡的宽度。
ALIASES定义别名。
TCL_SUBST在 Tcl 脚本中使用的替换。
OPTIMIZE_OUTPUT_FOR_CYES,是否对 C 语言进行优化。
OPTIMIZE_OUTPUT_JAVANO,是否对 Java 进行优化。
OPTIMIZE_FOR_FORTRANNO,是否对 Fortran 进行优化。
OPTIMIZE_OUTPUT_VHDLNO,是否对 VHDL 进行优化。
EXTENSION_MAPPING扩展名映射。
MARKDOWN_SUPPORTYES,是否支持 Markdown。
AUTOLINK_SUPPORTYES,是否自动链接 URL 和电子邮件。
BUILTIN_STL_SUPPORTNO,是否支持 C++ STL 库。
CPP_CLI_SUPPORTNO,是否支持 C++/CLI
SIP_SUPPORTNO,是否支持 PyQt 代码。
IDL_PROPERTY_SUPPORTYES,是否支持 IDL 属性。
DISTRIBUTE_GROUP_DOCNO,是否分发分组文档。
SUBGROUPINGYES,是否分组子目录。
INLINE_GROUPED_CLASSESYES,是否内联组中的类。
INLINE_SIMPLE_STRUCTSYES,是否内联简单结构体。
TYPEDEF_HIDES_STRUCTNO,是否隐藏 typedef 中的结构体。
LOOKUP_CACHE_SIZE0,查找缓存大小。

Build related configuration options

配置项作用
EXTRACT_ALLYES,是否提取所有的实体。
EXTRACT_PRIVATEYES,是否提取私有实体。
EXTRACT_PACKAGEYES,是否提取包/命名空间中的实体。
EXTRACT_STATICYES,是否提取静态实体。
EXTRACT_LOCAL_CLASSESYES,是否提取局部类的文档。
EXTRACT_LOCAL_METHODSYES,是否提取局部类的文档。
EXTRACT_ANON_NSPACESYES,是否提取匿名命名空间的文档。
HIDE_UNDOC_MEMBERSNO,是否隐藏未被文档化的成员。
HIDE_UNDOC_CLASSESNO,是否隐藏未被文档化的类。
HIDE_FRIEND_COMPOUNDSNO,是否隐藏未被文档化的友元。
HIDE_IN_BODY_DOCSNO,是否隐藏函数/类实现中的文档。
INTERNAL_DOCSYES,是否包括内部文档。
CASE_SENSE_NAMESYES,是否区分名称大小写。
HIDE_SCOPE_NAMESYES,是否隐藏作用域限定符。
SHOW_INCLUDE_FILESYES,是否在文档中显示包含文件。
FORCE_LOCAL_INCLUDESYES,是否强制使用相对路径的本地包含文件。
INLINE_INFOYES,是否提供内联函数的文档。
SORT_MEMBER_DOCSYES,是否按照成员的出现顺序对文档进行排序。
SORT_BRIEF_DOCSNO,是否按照类、函数、成员的简要文档排序。
SORT_MEMBERS_CTORS_1STNO,是否先将构造函数和析构函数排在成员列表的前面。
SORT_GROUP_NAMESNO,是否按照组名排序。
SORT_BY_SCOPE_NAMENO,是否按照作用域名称排序。
STRICT_PROTO_MATCHINGNO,是否对函数参数进行严格的匹配。
GENERATE_TODOLISTYES,是否生成待办事项列表。
GENERATE_TESTLISTYES,是否生成测试列表。
GENERATE_BUGLISTYES,是否生成缺陷列表。
GENERATE_DEPRECATEDLISTYES,是否生成已弃用列表。
ENABLED_SECTIONS
MAX_INITIALIZER_LINES30,初始化器的最大行数。
SHOW_USED_FILESYES,是否在文档中显示已使用的文件。
SHOW_FILESYES,是否在文档中显示所有文件。
SHOW_NAMESPACESYES,是否在文档中显示命名空间。
FILE_VERSION_FILTER是否启用文件版本过滤器。
LAYOUT_FILE自定义布局文件的名称。
CITE_BIB_FILES

Configuration options related to warning and progress messages

配置项作用
QUIETNO,是否关闭所有警告和错误消息。
WARNINGSYES,是否启用警告消息。
WARN_IF_UNDOCUMENTEDYES,是否在文档中生成未文档化的警告。
WARN_IF_DOC_ERRORYES,是否在文档中生成文档错误的警告。
WARN_NO_PARAMDOCNO,是否在函数参数没有文档的情况下生成警告。
WARN_FORMATfile:file:file:line: $text”,警告消息的格式。
WARN_LOGFILE

Configuration options related to the input files

配置项作用
INPUT./,一个用空格分隔的模式列表,要处理的输入文件或目录的列表。
INPUT_ENCODINGUTF-8,输入文件的字符编码。
FILE_PATTERNS一个用空格分隔的模式列表,文件名的样式。
RECURSIVEYES,对于指定的文件夹,是否应递归地搜索其子目录。
EXCLUDE一个用空格分隔的模式列表,指定哪些文件或目录不应包含在输入中。
EXCLUDE_SYMLINKSNO,如果为 YES,则忽略符号链接。否则,将处理它们指向的文件。
EXCLUDE_PATTERNS一个用空格分隔的模式列表,用于指定哪些文件或目录不应包含在 INPUT 中。默认为空。
EXCLUDE_SYMBOLS一个用空格分隔的模式列表,用于指定哪些符号(如函数或变量)不应在生成的文档中出现。默认为空。
EXAMPLE_PATH示例文件的路径。默认为空。
EXAMPLE_PATTERNS一个用空格分隔的模式列表,指定应该包含哪些示例文件。默认为空。
EXAMPLE_RECURSIVE对于指定的文件夹,是否应递归地搜索其子目录。默认为 YES。
IMAGE_PATH包含图片的目录的路径。默认为空。
INPUT_FILTER一个用于文件过滤的正则表达式。如果文件名与该正则表达式不匹配,则该文件将被忽略。默认为空。
FILTER_PATTERNS一个用空格分隔的模式列表,用于指定应该过滤哪些文件。默认为空。
FILTER_SOURCE_FILES如果为 YES,则源文件也会被过滤。否则,只有头文件会被过滤。默认为 NO。
FILTER_SOURCE_PATTERNS:一个用空格分隔的模式列表,指定应该过滤哪些源文件。默认为空。
USE_MDFILE_AS_MAINPAGE如果为 YES,则将第一个 Markdown 文件视为主页。否则,使用 index.h 或 index.cpp 作为主页。默认为 NO。

Configuration options related to source browsing

配置项作用
SOURCE_BROWSERNO,如果为 YES,则在生成的 HTML 中包括源代码。默认为 NO。
INLINE_SOURCESNO,如果为 YES,则在 HTML 中包含内联源代码。默认为 NO。
STRIP_CODE_COMMENTSNO,如果为 YES,则从源文件中删除注释。默认为 YES。
REFERENCED_BY_RELATION如果为 YES,则将 “引用者” 列添加到类的成员列表中。默认为 YES。
REFERENCES_RELATION如果为 YES,则将“ 参考” 列添加到类的成员列表中。默认为 YES。
REFERENCES_LINK_SOURCE如果为 YES,则在生成的文档中为每个参考项添加链接。默认为 YES。
SOURCE_TOOLTIPSYES,指示是否应该为 HTML 源代码生成工具提示。
USE_HTAGSNO,指示是否应在 HTML 输出中使用 H 标记,而不是 CSS 样式。
VERBATIM_HEADERSYES,如果设置为 YES,则 Doxygen 将以原样包含文本头文件,否则将按照特定的方式处理。

Configuration options related to the alphabetical class index

配置项作用
ALPHABETICAL_INDEXYES
COLS_IN_ALPHA_INDEX5
IGNORE_PREFIX

Configuration options related to the HTML output

配置项作用
GENERATE_HTMLYES
HTML_OUTPUT.
HTML_FILE_EXTENSION.html
HTML_HEADER
HTML_FOOTER
HTML_STYLESHEET
HTML_EXTRA_STYLESHEET
HTML_EXTRA_FILES
HTML_COLORSTYLE_HUE220
HTML_COLORSTYLE_SAT100
HTML_COLORSTYLE_GAMMA80
HTML_TIMESTAMPNO
HTML_DYNAMIC_SECTIONSNO
HTML_INDEX_NUM_ENTRIES100
GENERATE_DOCSETNO
DOCSET_FEEDNAME“Doxygen generated docs”
DOCSET_BUNDLE_IDorg.doxygen.Project
DOCSET_PUBLISHER_IDorg.doxygen.Publisher
DOCSET_PUBLISHER_NAMEPublisher
GENERATE_HTMLHELPNO
CHM_FILE
HHC_LOCATION
GENERATE_CHINO
CHM_INDEX_ENCODING
BINARY_TOCNO
TOC_EXPANDNO
GENERATE_QHPNO
QCH_FILE
QHP_NAMESPACEorg.doxygen.Project
QHP_VIRTUAL_FOLDERdoc
QHP_CUST_FILTER_NAME
QHP_CUST_FILTER_ATTRS
QHP_SECT_FILTER_ATTRS
QHG_LOCATION
GENERATE_ECLIPSEHELPNO
ECLIPSE_DOC_IDorg.doxygen.Project
DISABLE_INDEXNO
GENERATE_TREEVIEWALL
ENUM_VALUES_PER_LINE4
TREEVIEW_WIDTH250
EXT_LINKS_IN_WINDOWNO
FORMULA_FONTSIZE10
FORMULA_TRANSPARENTYES
USE_MATHJAXNO
MATHJAX_FORMATHTML-CSS
MATHJAX_RELPATHhttp://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS
MATHJAX_CODEFILE
SEARCHENGINEYES
SERVER_BASED_SEARCHNO
EXTERNAL_SEARCHNO
SEARCHENGINE_URL
SEARCHDATA_FILEsearchdata.xml
EXTERNAL_SEARCH_ID
EXTRA_SEARCH_MAPPINGS

Configuration options related to the LaTeX output

配置项作用
GENERATE_LATEXNO
LATEX_OUTPUTlatex
LATEX_CMD_NAMElatex
MAKEINDEX_CMD_NAMEmakeindex
COMPACT_LATEXNO
PAPER_TYPEa4
EXTRA_PACKAGES
LATEX_HEADER
LATEX_FOOTER
LATEX_EXTRA_FILES
PDF_HYPERLINKSYES
USE_PDFLATEXYES
LATEX_BATCHMODENO
LATEX_HIDE_INDICESNO
LATEX_SOURCE_CODENO
LATEX_BIB_STYLEplain

Configuration options related to the RTF output

配置项作用
GENERATE_RTFNO
RTF_OUTPUTrtf
COMPACT_RTFNO
RTF_HYPERLINKSNO
RTF_STYLESHEET_FILE
RTF_EXTENSIONS_FILE

Configuration options related to the man page output

配置项作用
GENERATE_MANNO
MAN_OUTPUTman
MAN_EXTENSION.3
MAN_LINKSNO

Configuration options related to the XML output

配置项作用
GENERATE_XMLNO
XML_OUTPUTxml
XML_SCHEMA
XML_DTD
XML_PROGRAMLISTINGYES

Configuration options related to the DOCBOOK output

配置项作用
GENERATE_DOCBOOKNO
DOCBOOK_OUTPUTdocbook

Configuration options for the AutoGen Definitions output

配置项作用
GENERATE_AUTOGEN_DEFNO

Configuration options related to the Perl module output

配置项作用
GENERATE_PERLMODNO
PERLMOD_LATEXNO
PERLMOD_PRETTYYES
PERLMOD_MAKEVAR_PREFIX

Configuration options related to the preprocessor

配置项作用
ENABLE_PREPROCESSINGYES
MACRO_EXPANSIONNO
EXPAND_ONLY_PREDEFNO
SEARCH_INCLUDESYES
INCLUDE_PATH
INCLUDE_FILE_PATTERNS*.c *.h
PREDEFINED
EXPAND_AS_DEFINED
SKIP_FUNCTION_MACROSYES

Configuration options related to external references

配置项作用
TAGFILES
GENERATE_TAGFILE
ALLEXTERNALSNO
EXTERNAL_GROUPSYES
EXTERNAL_PAGESYES
PERL_PATH/usr/bin/perl

Configuration options related to the dot tool

配置项作用
CLASS_DIAGRAMSYES,是否生成类图。
MSCGEN_PATHMSCGEN 的路径,MSCGEN 是一种序列图绘制工具。
HIDE_UNDOC_RELATIONSYES,是否隐藏未被文档记录的关系。
HAVE_DOTYES,是否安装了 Graphviz 工具包中的 dot 工具。
DOT_NUM_THREADS0,dot 工具使用的线程数。
DOT_FONTNAMEHelvetica,dot 工具使用的字体名称。
DOT_FONTSIZE10,dot 工具使用的字体大小。
DOT_FONTPATHdot 工具字体的搜索路径。
CLASS_GRAPHYES,是否生成类图。
COLLABORATION_GRAPHYES,是否生成协作图。
GROUP_GRAPHSYES,是否生成组图。
UML_LOOKYES,是否使用 UML 风格。
UML_LIMIT_NUM_FIELDS10,生成的类中字段数量的限制。
TEMPLATE_RELATIONSYES,是否生成模板关系。
INCLUDE_GRAPHYES,是否生成包含图。
INCLUDED_BY_GRAPHYES,是否生成被包含图。
CALL_GRAPHYES,是否生成调用图。
CALLER_GRAPHYES,是否生成被调用图。
GRAPHICAL_HIERARCHYYES,是否生成层次结构图。
DIRECTORY_GRAPHYES,是否生成目录图。
DOT_IMAGE_FORMATpng,生成的图像格式。
INTERACTIVE_SVGYES,是否生成可交互的 SVG。
DOT_PATHdot 工具的路径。
DOTFILE_DIRSdot 文件的搜索路径。
MSCFILE_DIRSMSC 文件的搜索路径。
DOT_GRAPH_MAX_NODES50,生成的图中节点的最大数量。
MAX_DOT_GRAPH_DEPTH0,生成的图中节点的最大深度。
DOT_TRANSPARENTNO,生成的图像是否透明。
DOT_MULTI_TARGETSNO,生成多个目标图像。
GENERATE_LEGENDYES,是否生成图例。
DOT_CLEANUPNO,是否清除 *.dot 中间文件。

使用

$ doxygen doxyconfig

附件

ChatGPT 写的 MD 格式转换器。

$ config_parser.sh
#!/bin/bash# 是否需要在下一行添加表头和行末信息
need_table_header=0
need_extra_info=0# 读取文件
while read line
do# 如果行以 "#--" 开头,则忽略该行并继续处理下一行if [[ $line == "#--"* ]]; thencontinuefi# 如果行以 "# " 开头,则将其替换为 "## " 并打印,同时在行末添加表头和行末信息if [[ $line == "# "* ]]; thenline="##${line:1}"echo "$line"need_table_header=1need_extra_info=1continuefi# 分割字符串key="${line%=*}"value="${line#*=}"# 如果需要添加表头,则在此行前面添加表头和行末信息if [ $need_table_header -eq 1 ]; thenecho "| 配置项 | 作用 |"echo "|:--|:--|"need_table_header=0fi# 输出键值对echo "| $key | $value |"# 如果需要添加行末信息,则在此行后面添加行末信息和下一行的表头if [[ $line == "## "* ]]; thenecho "| 配置项 | 作用 |"echo "|:--|:--|"need_extra_info=1elseneed_extra_info=0fi
done < doxyconfig

相关文章:

C 语言编程 — Doxygen + Graphviz 静态项目分析

目录 文章目录目录安装配置解析Project related configuration optionsBuild related configuration optionsConfiguration options related to warning and progress messagesConfiguration options related to the input filesConfiguration options related to source brows…...

Mybatis报BindingException:Invalid bound statement (not found)异常

一、前言 本文的mybatis是与springboot整合时出现的异常&#xff0c;若使用的不是基于springboot&#xff0c;解决思路也大体一样的。 二、从整合mybatis的三个步骤排查问题 但在这之前&#xff0c;我们先要知道整合mybatis的三个重要的工作&#xff0c;如此才能排查&#x…...

HttpRunner3.x(1)-框架介绍

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架&#xff0c;只需编写维护一份 YAML/JSON 脚本&#xff0c;即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。主要特征继承的所有强大功能requests &#xff0c;只需以人工方式获得乐趣即可处理HTTP&#xf…...

pytest学习和使用20-pytes如何进行分布式测试?(pytest-xdist)

20-pytes如何进行分布式测试&#xff1f;&#xff08;pytest-xdist&#xff09;1 什么是分布式测试&#xff1f;2 为什么要进行分布式测试&#xff1f;2.1 场景1&#xff1a;自动化测试场景2.2 场景2&#xff1a;性能测试场景3 分布式测试有什么特点&#xff1f;4 分布式测试关…...

三、Python 操作 MongoDB ----非 ODM

文章目录一、连接器的安装和配置二、新增文档三、查询文档四、更新文档五、删除文档一、连接器的安装和配置 pymongo&#xff1a; MongoDB 官方提供的 Python 工具包。官方文档&#xff1a; https://pymongo.readthedocs.io/en/stable/ pip安装&#xff0c;命令如下&#xff1…...

求最大公约数和最小公倍数---辗转相除法(欧几里得算法)

目录 一.GCD和LCM 1.最大公约数 2.最小公倍数 二.暴力求解 1.最大公约数 2.最小公倍数 三.辗转相除法 1.最大公约数 2.最小公倍数 一.GCD和LCM 1.最大公约数 最大公约数&#xff08;Greatest Common Divisor&#xff0c;简称GCD&#xff09;指的是两个或多个整数共有…...

音视频开发_获取媒体文件的详细信息

一、前言 做音视频开发过程中,经常需要获取媒体文件的详细信息。 比如:获取视频文件的总时间、帧率、尺寸、码率等等信息。 获取音频文件的的总时间、帧率、码率,声道等信息。 这篇文章贴出2个我封装好的函数,直接调用就能获取媒体信息返回,copy过去就能使用,非常方便。…...

Springboot集成Swagger

一、Swagger简介注意点&#xff01; 在正式发布的时候要关闭swagger&#xff08;出于安全考虑&#xff0c;而且节省内存空间&#xff09;之前开发的时候&#xff0c;前端只用管理静态页面&#xff0c; http请求到后端&#xff0c; 模板引擎JSP&#xff0c;故后端是主力如今是前…...

Vue全新一代状态管理库 Pinia【一篇通】

文章目录前言1. Pinia 是什么&#xff1f;1.1 为什么取名叫 Pinia?1.2. 为什么要使用 Pinia ?2. 安装 Pinia2.1.创建 Store2.1.1. Option 类型 Store2.1.2 Setup 函数类型 Store2.1.3 模板中使用3. State 的使用事项&#xff08;Option Store &#xff09;3.1 读取 State3.2 …...

STM32 -4 关于STM32的RAM、ROM

一 stm32 的flash是什么、有什么用、注意事项、如何查看 一 、说明 它主要用于存储代码&#xff0c;FLASH 存储器的内容在掉电后不会丢失&#xff0c;STM32 芯片在运行的时候&#xff0c;也能对自身的内部 FLASH 进行读写&#xff0c;因此&#xff0c;若内部 FLASH 存储了应用…...

第一个 Qt 程序

第一个 Qt 程序 “hello world ”的起源要追溯到 1972 年&#xff0c;贝尔实验室著名研究员 Brian Kernighan 在撰写 “B 语言教程与指导(Tutorial Introduction to the Language B)”时初次使用&#xff08;程序&#xff09;&#xff0c;这是目前已 知最早的在计算机著作中将…...

Spring注解驱动开发--AOP底层原理

Spring注解驱动开发–AOP底层原理 21. AOP-AOP功能测试 AOP&#xff1a;【动态代理】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式&#xff1b; 1、导入aop模块&#xff1a;Spring AOP&#xff0c;(Spring-aspects) 2、定义一个业务逻辑类(Ma…...

对象的动态创建和销毁以及对象的复制,赋值

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章,「初学」C​​​​​​​ &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才…...

JVM调优,调的是什么?目的是什么?

文章目录前言一、jvm是如何运行代码的&#xff1f;二、jvm的内存模型1 整体内存模型结构图2 堆中的年代区域划分3 对象在内存模型中是如何流转的?4 什么是FULL GC,STW? 为什么会发生FULL GC?5 要调优,首先要知道有哪些垃圾收集器及哪些算法6 调优不是盲目的,要有依据,几款内…...

docker部署zabbix监控

docker部署zabbix监控 1、环境说明 公有云ubuntu22.04 系统->部署docker环境zabbix-server 6.4 2、准备docker环境 更新apt以及安装一些必要的系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-co…...

C语言刷题(6)(猜名次)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰还是在复习噢&#xff0c;今天来给大家介绍一个有意思的题目 题目名称&#xff1a; 猜名次 题目内容&#xff1a; 5位运动员参加了10米台跳水比赛&#xff0c;有人让他们预测比赛结果&#xff1a; A选…...

两年外包生涯,感觉自己废了一半....

先说一下自己的情况。大专生&#xff0c;17年通过校招进入湖南某软件公司&#xff0c;干了接近2年的点点点&#xff0c;今年年上旬&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01;而我已经在一个企业干了五年的功能测试…...

【python】喜欢XJJ?这不得来一波大采集?

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 俗话说的好&#xff1a;技能学了~就要用在自己喜欢得东西上&#xff01;&#xff01; 这我不得听个话~我喜欢小姐姐&#xff0c;跳舞的小姐姐 这不得用python把小姐姐舞采集下来~嘿嘿嘿 完整源码、素材皆可点击文章下方名片…...

公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》

统一测试用例编写的规范&#xff0c;为测试设计人员提供测试用例编写的指导&#xff0c;提高编写的测试用例的可读性&#xff0c;可执行性、合理性。为测试执行人员更好执行测试&#xff0c;提高测试效率&#xff0c;最终提高公司整个产品的质量。 一、范围 适用于集成测试用…...

LeetCode 热题 HOT 100【题型归类汇总,助力刷题】

介绍 对于算法题&#xff0c;按题型类别刷题才会更有成效&#xff0c;因此我这里在网上搜索并参考了下 “&#x1f525; LeetCode 热题 HOT 100” 的题型归类&#xff0c;并在其基础上做了一定的完善&#xff0c;希望能够记录自己的刷题历程&#xff0c;有所收获&#xff01;具…...

【Java进阶篇】—— File类与IO流

一、File类的使用 1.1 概述 File 类以及本章中的各种流都定义在 java.io 包下 一个File对象代表硬盘或网络中可能存在的一个文件或文件夹&#xff08;文件目录&#xff09; File 能新建、删除、重命名 文件和目录&#xff0c;但 File不能访问文件内容本身。如果我们想要访问…...

Mysql 竟然还有这么多不为人知的查询优化技巧,还不看看?

前言 Mysql 我随手造200W条数据&#xff0c;给你们讲讲分页优化 MySql 索引失效、回表解析 今天再聊聊一些我想分享的查询优化相关点。 正文 准备模拟数据。 首先是一张 test_orde 表&#xff1a; CREATE TABLE test_order (id INT(11) NOT NULL AUTO_INCREMENT,p_sn VARCHA…...

MATLAB算法实战应用案例精讲-【智能优化算法】海洋捕食者算法(MPA) (附MATLAB和python代码实现)

目录 前言 知识储备 Lvy 飞行 布朗运动 算法原理 算法思想 数学模型...

Spring @Profile

1. Overview In this tutorial, we’ll focus on introducing Profiles in Spring. Profiles are a core feature of the framework — allowing us to map our beans to different profiles — for example, dev, test, and prod. We can then activate different profiles…...

Vue3电商项目实战-个人中心模块4【09-订单管理-列表渲染、10-订单管理-条件查询】

文章目录09-订单管理-列表渲染10-订单管理-条件查询09-订单管理-列表渲染 目的&#xff1a;完成订单列表默认渲染。 大致步骤&#xff1a; 定义API接口函数抽取单条订单组件获取数据进行渲染 落的代码&#xff1a; 1.获取订单列表API借口 /*** 查询订单列表* param {Number…...

【十二天学java】day01-Java基础语法

day01 - Java基础语法 1. 人机交互 1.1 什么是cmd&#xff1f; 就是在windows操作系统中&#xff0c;利用命令行的方式去操作计算机。 我们可以利用cmd命令去操作计算机&#xff0c;比如&#xff1a;打开文件&#xff0c;打开文件夹&#xff0c;创建文件夹等。 1.2 如何打…...

【面试题】闭包是什么?this 到底指向谁?

一通百通&#xff0c;其实函数执行上下文、作用域链、闭包、this、箭头函数是相互关联的&#xff0c;他们的特性并不是孤立的&#xff0c;而是相通的。因为内部函数可以访问外层函数的变量&#xff0c;所以才有了闭包的现象。箭头函数内没有 this 和 arguments&#xff0c;所以…...

汽车4S店业务管理软件

一、产品简介  它主要提供给汽车4S商店&#xff0c;用于管理各种业务&#xff0c;如汽车销售、售后服务、配件、精品和保险。整个系统以客户为中心&#xff0c;以财务为基础&#xff0c;覆盖4S商店的每一个业务环节&#xff0c;不仅可以提高服务效率和客户满意度&#xff0c;…...

基于 pytorch 的手写 transformer + tokenizer

先放出 transformer 的整体结构图,以便复习,接下来就一个模块一个模块的实现它。 1. Embedding Embedding 部分主要由两部分组成,即 Input Embedding 和 Positional Encoding,位置编码记录了每一个词出现的位置。通过加入位置编码可以提高模型的准确率,因为同一个词出现在…...

算法小抄6-二分查找

二分查找,又名折半查找,其搜索过程如下: 从数组中间的元素开始,如果元素刚好是要查找的元素,则搜索过程结束如果搜索元素大于或小于中间元素,则排除掉不符合条件的那一半元素,在剩下的数组中进行查找由于每次需要排除掉一半不符合要求的元素,这需要数组是已经排好序的或者是有…...

创业大赛网站建设/百度推广登录首页网址

基于 tcp 实现群聊功能&#xff0c;本项目设计是在windows环境下基于套接字(Socket)和多线程编程进行开发的简易聊天室&#xff0c;实现了群聊功能&#xff0c;在VC6.0和VS2019运行测试无误。运行效果分析设计Windows下基于windows网络接口Winsock的通信步骤为WSAStartup 进行初…...

全球最大的平面设计网站/深圳优化公司找高粱seo服务

在项目中使用MyBatisPlus中的or()查询时由于误用&#xff0c;导致查询数据不对&#xff0c;仅作记录。写法一&#xff1a;LambdaQueryWrapper queryWrapper new QueryWrapper().lambda();queryWrapper.eq(Task::getUserId, "15").eq(Task::getStatus, 2).or().eq(Ta…...

日本男女做受网站/百度客服人工电话24

使用java操作HDFS需要使用到的jar包将hadoop的tar.gz包解压&#xff0c;里面的lib下的所有jar包&#xff0c;share/hadoop目录下的common和hdfs文件下的所有jar包以及Hadoop-common-2.7.7、Hadoop-hdfs-2.7.7、hadoop-client-2.7.7这三个jar包。常用的操作1.连接至hdfsTestpubl…...

wordpress主题代码框架/seo优化的技巧

这个作业属于哪个课程&#xff1a;https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 这个作业要求在哪里&#xff1a;https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3341 团队名称&#xff1a;仰望星空 https://www.cnblogs.com/as…...

宏志建设有限公司网站/中国最新消息

最近想往Android 转型&#xff0c;所以又重新捡起Android学习。看了一下各位大神的文章&#xff0c;说的比较乱&#xff0c;因为版本不一样所以搭建过程也不一样&#xff0c;我在这里说一下最简单快捷的方式。&#xff08;PS:那时候搭建环境好复杂啊&#xff0c;要下SDK,要下载…...

企业网站的做/深圳优化公司哪家好

给一个图&#xff0c;某些点需要单独以某一种颜色的线连接到1点&#xff0c;问如何安排能够使得整个图颜色最多的一条路颜色最少。 显然&#xff0c;二分枚举然后加以颜色其实就是流量了&#xff0c;相当于对每条边限定一个当前二分的流量值&#xff0c;判断能否满流即可。 召唤…...