关键词搜索

源码搜索 ×
×

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

发布2023-03-18浏览721次

详情内容

目录

安装

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

    配置解析

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

    示例:

    # 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
    
      3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305

    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_FORMAT f i l e : 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
    
    • 1

    附件

    ChatGPT 写的 MD 格式转换器。

    $ config_parser.sh
    #!/bin/bash
    
    # 是否需要在下一行添加表头和行末信息
    need_table_header=0
    need_extra_info=0
    
    # 读取文件
    while read line
    do
        # 如果行以 "#--" 开头,则忽略该行并继续处理下一行
        if [[ $line == "#--"* ]]; then
            continue
        fi
    
        # 如果行以 "# " 开头,则将其替换为 "## " 并打印,同时在行末添加表头和行末信息
        if [[ $line == "# "* ]]; then
            line="##${line:1}"
            echo "$line"
            need_table_header=1
            need_extra_info=1
            continue
        fi
    
        # 分割字符串
        key="${line%=*}"
        value="${line#*=}"
    
        # 如果需要添加表头,则在此行前面添加表头和行末信息
        if [ $need_table_header -eq 1 ]; then
            echo "| 配置项 | 作用 |"
            echo "|:--|:--|"
            need_table_header=0
        fi
    
        # 输出键值对
        echo "| $key | $value |"
    
        # 如果需要添加行末信息,则在此行后面添加行末信息和下一行的表头
        if [[ $line == "## "* ]]; then
            echo "| 配置项 | 作用 |"
            echo "|:--|:--|"
            need_extra_info=1
        else
            need_extra_info=0
        fi
    done < doxyconfig
    
      3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    相关技术文章

    点击QQ咨询
    开通会员
    返回顶部
    ×
    微信扫码支付
    微信扫码支付
    确定支付下载
    请使用微信描二维码支付
    ×

    提示信息

    ×

    选择支付方式

    • 微信支付
    • 支付宝付款
    确定支付下载