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” 的题型归类,并在其基础上做了一定的完善,希望能够记录自己的刷题历程,有所收获!具…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...