zoukankan      html  css  js  c++  java
  • Doxygen 生成文档

    window Doxygen 和 graphviz 的工具下载:http://download.csdn.net/download/aba13579/12063263

    样例 下载:  http://download.csdn.net/download/aba13579/12063285

    ubuntu 安装doxygen方式,支持源码安装,也支持apt安装

    sudo apt-get install doxygen

    安装graphviz, 支持源码安装也支持apt安装

     sudo apt-get install graphviz

    生成配置文件:

     sudo doxygen -g doxyfile 

     sudo doxygen  -s -g doxyfile      // 生成没有注释文件的配置文件  

    执行配置文件

    sudo doxygen doxyfile

    # Doxyfile 1.8.11
    
    #---------------------------------------------------------------------------
    # Project related configuration options
    #---------------------------------------------------------------------------
    DOXYFILE_ENCODING      = UTF-8
    PROJECT_NAME           = "sample"           #配置文件名称
    PROJECT_NUMBER         =
    PROJECT_BRIEF          =
    PROJECT_LOGO           =
    OUTPUT_DIRECTORY       = doxygen-output        #输出目录
    CREATE_SUBDIRS         = NO
    ALLOW_UNICODE_NAMES    = NO
    OUTPUT_LANGUAGE        = Chinese               #中文
    BRIEF_MEMBER_DESC      = YES
    REPEAT_BRIEF           = YES
    ABBREVIATE_BRIEF       =
    ALWAYS_DETAILED_SEC    = NO
    INLINE_INHERITED_MEMB  = NO
    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  = NO
    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
    GROUP_NESTED_COMPOUNDS = NO
    SUBGROUPING            = YES
    INLINE_GROUPED_CLASSES = NO
    INLINE_SIMPLE_STRUCTS  = NO
    TYPEDEF_HIDES_STRUCT   = NO
    LOOKUP_CACHE_SIZE      = 0
    #---------------------------------------------------------------------------
    # Build related configuration options
    #---------------------------------------------------------------------------
    EXTRACT_ALL            = YES   #默认是NO, 改YES, 支持生成函数调用
    EXTRACT_PRIVATE        = YES    
    EXTRACT_PACKAGE        = YES   #默认是NO, 改YES, 支持生成函数调用
    EXTRACT_STATIC         = YES  #默认是NO, 改YES, 支持生成函数调用
    EXTRACT_LOCAL_CLASSES  = YES  #默认是NO, 改YES, 支持生成函数调用
    EXTRACT_LOCAL_METHODS  = YES  #默认是NO, 改YES, 支持生成函数调用
    EXTRACT_ANON_NSPACES   = NO
    HIDE_UNDOC_MEMBERS     = NO
    HIDE_UNDOC_CLASSES     = NO
    HIDE_FRIEND_COMPOUNDS  = NO
    HIDE_IN_BODY_DOCS      = NO
    INTERNAL_DOCS          = NO
    CASE_SENSE_NAMES       = YES
    HIDE_SCOPE_NAMES       = NO
    HIDE_COMPOUND_REFERENCE= NO
    SHOW_INCLUDE_FILES     = YES
    SHOW_GROUPED_MEMB_INC  = NO
    FORCE_LOCAL_INCLUDES   = NO
    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_AS_ERROR          = NO
    WARN_FORMAT            = "$file:$line: $text"
    WARN_LOGFILE           =
    #---------------------------------------------------------------------------
    # Configuration options related to the input files
    #---------------------------------------------------------------------------
    INPUT                  = ./source          #源码目录
    INPUT_ENCODING         = UTF-8
    FILE_PATTERNS          =
    RECURSIVE              = YES               #递归检查
    EXCLUDE                =
    EXCLUDE_SYMLINKS       = NO
    EXCLUDE_PATTERNS       =
    EXCLUDE_SYMBOLS        =
    EXAMPLE_PATH           =
    EXAMPLE_PATTERNS       =
    EXAMPLE_RECURSIVE      = NO
    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    = YES
    REFERENCED_BY_RELATION = NO
    REFERENCES_RELATION    = NO
    REFERENCES_LINK_SOURCE = YES
    SOURCE_TOOLTIPS        = YES
    USE_HTAGS              = NO
    VERBATIM_HEADERS       = YES
    CLANG_ASSISTED_PARSING = NO
    CLANG_OPTIONS          =
    #---------------------------------------------------------------------------
    # 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
    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      = NO
    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, 可设置为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_STYLESHEET =
    LATEX_EXTRA_FILES      =
    PDF_HYPERLINKS         = YES
    USE_PDFLATEX           = YES
    LATEX_BATCHMODE        = NO
    LATEX_HIDE_INDICES     = NO
    LATEX_SOURCE_CODE      = NO
    LATEX_BIB_STYLE        = plain
    LATEX_TIMESTAMP        = NO
    #---------------------------------------------------------------------------
    # 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    =
    RTF_SOURCE_CODE        = NO
    #---------------------------------------------------------------------------
    # Configuration options related to the man page output
    #---------------------------------------------------------------------------
    GENERATE_MAN           = NO
    MAN_OUTPUT             = man
    MAN_EXTENSION          = .3
    MAN_SUBDIR             =
    MAN_LINKS              = NO
    #---------------------------------------------------------------------------
    # Configuration options related to the XML output
    #---------------------------------------------------------------------------
    GENERATE_XML           = NO
    XML_OUTPUT             = xml
    XML_PROGRAMLISTING     = YES
    #---------------------------------------------------------------------------
    # Configuration options related to the DOCBOOK output
    #---------------------------------------------------------------------------
    GENERATE_DOCBOOK       = NO
    DOCBOOK_OUTPUT         = docbook
    DOCBOOK_PROGRAMLISTING = NO
    #---------------------------------------------------------------------------
    # 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  =
    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            =
    DIA_PATH               =
    HIDE_UNDOC_RELATIONS   = YES
    HAVE_DOT               = YES
    DOT_NUM_THREADS        = 0
    DOT_FONTNAME           = Helvetica
    DOT_FONTSIZE           = 10
    DOT_FONTPATH           =
    CLASS_GRAPH            = YES
    COLLABORATION_GRAPH    = YES
    GROUP_GRAPHS           = YES
    UML_LOOK               = NO
    UML_LIMIT_NUM_FIELDS   = 10
    TEMPLATE_RELATIONS     = NO
    INCLUDE_GRAPH          = YES
    INCLUDED_BY_GRAPH      = YES
    CALL_GRAPH             = YES          #生成调用关系,默认是NO,改为YES
    CALLER_GRAPH           = YES           
    GRAPHICAL_HIERARCHY    = YES
    DIRECTORY_GRAPH        = YES
    DOT_IMAGE_FORMAT       = png
    INTERACTIVE_SVG        = NO
    DOT_PATH               = /usr/bin/dot  #dot路径
    DOTFILE_DIRS           =
    MSCFILE_DIRS           =
    DIAFILE_DIRS           =
    PLANTUML_JAR_PATH      =
    PLANTUML_INCLUDE_PATH  =
    DOT_GRAPH_MAX_NODES    = 50
    MAX_DOT_GRAPH_DEPTH    = 0
    DOT_TRANSPARENT        = NO
    DOT_MULTI_TARGETS      = NO
    GENERATE_LEGEND        = YES
    DOT_CLEANUP            = YES

    参考链接:

    Ubuntu下doxygen+graphviz使用概录  https://www.cnblogs.com/arnoldlu/p/11552271.html

    绘制函数调用图(call graph) https://blog.csdn.net/benkaoya/article/details/79763668

    Doxygen 10 分钟入门教程:  https://cedar-renjun.github.io/2014/03/21/learn-doxygen-in-10-minutes/

    学习用 doxygen 生成源码文档  https://www.ibm.com/developerworks/cn/aix/library/au-learningdoxygen/index.html  

  • 相关阅读:
    java
    java
    informix资料下载
    linux下vim更改注释颜色
    linux修改目录颜色
    Centos下将sh脚本变为可全局运行的方法
    CentOS7启动时自动加载内核模块
    lsmod,depmod,modprobe,modinfo,insmod,rmmod
    自旋锁与信号量
    软中断、tasklet和工作队列
  • 原文地址:https://www.cnblogs.com/hzijone/p/12115224.html
Copyright © 2011-2022 走看看