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_ENCODING | UTF-8,配置文件的编码格式。 | 
| PROJECT_NAME | 项目名称。 | 
| PROJECT_NUMBER | 项目的的版本号。 | 
| PROJECT_BRIEF | 项目的简短描述。 | 
| PROJECT_LOGO | 项目的 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,是否使用 JavaDoc 风格的简介。 | 
| QT_AUTOBRIEF | NO,是否使用 Qt 风格的简介。 | 
| MULTILINE_CPP_IS_BRIEF | NO,是否允许在 C++ 注释中使用多行简介。 | 
| INHERIT_DOCS | YES,是否从父类继承文档。 | 
| SEPARATE_MEMBER_PAGES | NO,是否为每个类的成员生成单独的页面。 | 
| TAB_SIZE | 4,指定选项卡的宽度。 | 
| ALIASES | 定义别名。 | 
| TCL_SUBST | 在 Tcl 脚本中使用的替换。 | 
| OPTIMIZE_OUTPUT_FOR_C | YES,是否对 C 语言进行优化。 | 
| OPTIMIZE_OUTPUT_JAVA | NO,是否对 Java 进行优化。 | 
| OPTIMIZE_FOR_FORTRAN | NO,是否对 Fortran 进行优化。 | 
| OPTIMIZE_OUTPUT_VHDL | NO,是否对 VHDL 进行优化。 | 
| EXTENSION_MAPPING | 扩展名映射。 | 
| MARKDOWN_SUPPORT | YES,是否支持 Markdown。 | 
| AUTOLINK_SUPPORT | YES,是否自动链接 URL 和电子邮件。 | 
| BUILTIN_STL_SUPPORT | NO,是否支持 C++ STL 库。 | 
| CPP_CLI_SUPPORT | NO,是否支持 C++/CLI | 
| SIP_SUPPORT | NO,是否支持 PyQt 代码。 | 
| IDL_PROPERTY_SUPPORT | YES,是否支持 IDL 属性。 | 
| DISTRIBUTE_GROUP_DOC | NO,是否分发分组文档。 | 
| SUBGROUPING | YES,是否分组子目录。 | 
| INLINE_GROUPED_CLASSES | YES,是否内联组中的类。 | 
| INLINE_SIMPLE_STRUCTS | YES,是否内联简单结构体。 | 
| TYPEDEF_HIDES_STRUCT | NO,是否隐藏 typedef 中的结构体。 | 
| 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:file:file:line: $text”,警告消息的格式。 | 
| WARN_LOGFILE | 
Configuration options related to the input files
| 配置项 | 作用 | 
|---|---|
| INPUT | ./,一个用空格分隔的模式列表,要处理的输入文件或目录的列表。 | 
| INPUT_ENCODING | UTF-8,输入文件的字符编码。 | 
| FILE_PATTERNS | 一个用空格分隔的模式列表,文件名的样式。 | 
| RECURSIVE | YES,对于指定的文件夹,是否应递归地搜索其子目录。 | 
| EXCLUDE | 一个用空格分隔的模式列表,指定哪些文件或目录不应包含在输入中。 | 
| EXCLUDE_SYMLINKS | NO,如果为 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_BROWSER | NO,如果为 YES,则在生成的 HTML 中包括源代码。默认为 NO。 | 
| INLINE_SOURCES | NO,如果为 YES,则在 HTML 中包含内联源代码。默认为 NO。 | 
| STRIP_CODE_COMMENTS | NO,如果为 YES,则从源文件中删除注释。默认为 YES。 | 
| REFERENCED_BY_RELATION | 如果为 YES,则将 “引用者” 列添加到类的成员列表中。默认为 YES。 | 
| REFERENCES_RELATION | 如果为 YES,则将“ 参考” 列添加到类的成员列表中。默认为 YES。 | 
| REFERENCES_LINK_SOURCE | 如果为 YES,则在生成的文档中为每个参考项添加链接。默认为 YES。 | 
| SOURCE_TOOLTIPS | YES,指示是否应该为 HTML 源代码生成工具提示。 | 
| USE_HTAGS | NO,指示是否应在 HTML 输出中使用 H 标记,而不是 CSS 样式。 | 
| VERBATIM_HEADERS | YES,如果设置为 YES,则 Doxygen 将以原样包含文本头文件,否则将按照特定的方式处理。 | 
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 | MSCGEN 的路径,MSCGEN 是一种序列图绘制工具。 | 
| HIDE_UNDOC_RELATIONS | YES,是否隐藏未被文档记录的关系。 | 
| HAVE_DOT | YES,是否安装了 Graphviz 工具包中的 dot 工具。 | 
| DOT_NUM_THREADS | 0,dot 工具使用的线程数。 | 
| DOT_FONTNAME | Helvetica,dot 工具使用的字体名称。 | 
| DOT_FONTSIZE | 10,dot 工具使用的字体大小。 | 
| DOT_FONTPATH | dot 工具字体的搜索路径。 | 
| CLASS_GRAPH | YES,是否生成类图。 | 
| COLLABORATION_GRAPH | YES,是否生成协作图。 | 
| GROUP_GRAPHS | YES,是否生成组图。 | 
| UML_LOOK | YES,是否使用 UML 风格。 | 
| 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,是否生成可交互的 SVG。 | 
| DOT_PATH | dot 工具的路径。 | 
| DOTFILE_DIRS | dot 文件的搜索路径。 | 
| MSCFILE_DIRS | MSC 文件的搜索路径。 | 
| DOT_GRAPH_MAX_NODES | 50,生成的图中节点的最大数量。 | 
| MAX_DOT_GRAPH_DEPTH | 0,生成的图中节点的最大深度。 | 
| DOT_TRANSPARENT | NO,生成的图像是否透明。 | 
| DOT_MULTI_TARGETS | NO,生成多个目标图像。 | 
| GENERATE_LEGEND | YES,是否生成图例。 | 
| DOT_CLEANUP | NO,是否清除 *.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整合时出现的异常,若使用的不是基于springboot,解决思路也大体一样的。 二、从整合mybatis的三个步骤排查问题 但在这之前,我们先要知道整合mybatis的三个重要的工作,如此才能排查&#x…...
HttpRunner3.x(1)-框架介绍
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。主要特征继承的所有强大功能requests ,只需以人工方式获得乐趣即可处理HTTP…...
pytest学习和使用20-pytes如何进行分布式测试?(pytest-xdist)
20-pytes如何进行分布式测试?(pytest-xdist)1 什么是分布式测试?2 为什么要进行分布式测试?2.1 场景1:自动化测试场景2.2 场景2:性能测试场景3 分布式测试有什么特点?4 分布式测试关…...
三、Python 操作 MongoDB ----非 ODM
文章目录一、连接器的安装和配置二、新增文档三、查询文档四、更新文档五、删除文档一、连接器的安装和配置 pymongo: MongoDB 官方提供的 Python 工具包。官方文档: https://pymongo.readthedocs.io/en/stable/ pip安装,命令如下࿱…...
求最大公约数和最小公倍数---辗转相除法(欧几里得算法)
目录 一.GCD和LCM 1.最大公约数 2.最小公倍数 二.暴力求解 1.最大公约数 2.最小公倍数 三.辗转相除法 1.最大公约数 2.最小公倍数 一.GCD和LCM 1.最大公约数 最大公约数(Greatest Common Divisor,简称GCD)指的是两个或多个整数共有…...
音视频开发_获取媒体文件的详细信息
一、前言 做音视频开发过程中,经常需要获取媒体文件的详细信息。 比如:获取视频文件的总时间、帧率、尺寸、码率等等信息。 获取音频文件的的总时间、帧率、码率,声道等信息。 这篇文章贴出2个我封装好的函数,直接调用就能获取媒体信息返回,copy过去就能使用,非常方便。…...
Springboot集成Swagger
一、Swagger简介注意点! 在正式发布的时候要关闭swagger(出于安全考虑,而且节省内存空间)之前开发的时候,前端只用管理静态页面, http请求到后端, 模板引擎JSP,故后端是主力如今是前…...
Vue全新一代状态管理库 Pinia【一篇通】
文章目录前言1. Pinia 是什么?1.1 为什么取名叫 Pinia?1.2. 为什么要使用 Pinia ?2. 安装 Pinia2.1.创建 Store2.1.1. Option 类型 Store2.1.2 Setup 函数类型 Store2.1.3 模板中使用3. State 的使用事项(Option Store )3.1 读取 State3.2 …...
STM32 -4 关于STM32的RAM、ROM
一 stm32 的flash是什么、有什么用、注意事项、如何查看 一 、说明 它主要用于存储代码,FLASH 存储器的内容在掉电后不会丢失,STM32 芯片在运行的时候,也能对自身的内部 FLASH 进行读写,因此,若内部 FLASH 存储了应用…...
第一个 Qt 程序
第一个 Qt 程序 “hello world ”的起源要追溯到 1972 年,贝尔实验室著名研究员 Brian Kernighan 在撰写 “B 语言教程与指导(Tutorial Introduction to the Language B)”时初次使用(程序),这是目前已 知最早的在计算机著作中将…...
Spring注解驱动开发--AOP底层原理
Spring注解驱动开发–AOP底层原理 21. AOP-AOP功能测试 AOP:【动态代理】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式; 1、导入aop模块:Spring AOP,(Spring-aspects) 2、定义一个业务逻辑类(Ma…...
对象的动态创建和销毁以及对象的复制,赋值
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C 🔥座右铭:“不要等到什么都没有了,才…...
JVM调优,调的是什么?目的是什么?
文章目录前言一、jvm是如何运行代码的?二、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们你们好呀,今天,小雅兰还是在复习噢,今天来给大家介绍一个有意思的题目 题目名称: 猜名次 题目内容: 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选…...
两年外包生涯,感觉自己废了一半....
先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近2年的点点点,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了五年的功能测试…...
【python】喜欢XJJ?这不得来一波大采集?
前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 俗话说的好:技能学了~就要用在自己喜欢得东西上!! 这我不得听个话~我喜欢小姐姐,跳舞的小姐姐 这不得用python把小姐姐舞采集下来~嘿嘿嘿 完整源码、素材皆可点击文章下方名片…...
公司测试员用例写得乱七八糟,测试总监制定了这份《测试用例编写规范》
统一测试用例编写的规范,为测试设计人员提供测试用例编写的指导,提高编写的测试用例的可读性,可执行性、合理性。为测试执行人员更好执行测试,提高测试效率,最终提高公司整个产品的质量。 一、范围 适用于集成测试用…...
LeetCode 热题 HOT 100【题型归类汇总,助力刷题】
介绍 对于算法题,按题型类别刷题才会更有成效,因此我这里在网上搜索并参考了下 “🔥 LeetCode 热题 HOT 100” 的题型归类,并在其基础上做了一定的完善,希望能够记录自己的刷题历程,有所收获!具…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
