Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxygen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LATEX、RTF参考手册。

Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D.

Doxygen can help you in three ways:

1)It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, DocBook and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.

2)You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. Doxygen can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.

3)You can also use doxygen for creating normal documentation (as I did for the doxygen user manual and doxygen web-site).

Doxygen  Features

  • Requires very little overhead from the writer of the documentation. Plain text will do, Markdown is support, and for more fancy or structured output HTML tags and/or some of doxygen's special commands can be used.
  • Cross platform: works on Windows and many Unix flavors (including Linux and MacOSX).
  • Indexes, organizes and generates browsable and cross-referenced output even from undocumented code.
  • Generates structured XML output for parsed sources, which can be used by external tools.
  • Supports C/C++, Java, (Corba and Microsoft) Java, Python, VHDL, PHP IDL, C#, Fortran, TCL, Objective-C 2.0, and to some extent D sources.
  • Supports documentation of files, namespaces, packages, classes, structs, unions, templates, variables, functions, typedefs, enums and defines.
  • JavaDoc (1.1), qdoc3 (partially), and ECMA-334 (C# spec.) compatible.
  • Comes with a GUI frontend (Doxywizard) to ease editing the options and run doxygen. The GUI is available on Windows, Linux, and MacOSX.
  • Automatically generates class and collaboration diagrams in HTML (as clickable image maps) and  (as Encapsulated PostScript images).
  • Uses the dot tool of the Graphviz tool kit to generate include dependency graphs, collaboration diagrams, call graphs, directory structure graphs, and graphical class hierarchy graphs.
  • Allows grouping of entities in modules and creating a hierarchy of modules.
  • Flexible comment placement: Allows you to put documentation in the header file (before the declaration of an entity), source file (before the definition of an entity) or in a separate file.
  • Generates a list of all members of a class (including any inherited members) along with their protection level.
  • Outputs documentation in on-line format (XHTML and UNIX man page) and off-line format (  and RTF) simultaneously (any of these can be disabled if desired). All formats are optimized for ease of reading. 
    Furthermore, compressed HTML can be generated from HTML output using Microsoft's HTML Help Workshop (Windows only) and PDF can be generated from the  output.
  • Support for various third party help formats including HTML Help, docsets, Qt-Help, and eclipse help.
  • Includes a full C preprocessor to allow proper parsing of conditional code fragments and to allow expansion of all or part of macros definitions.
  • Automatically detects public, protected and private sections, as well as the Qt specific signal and slots sections. Extraction of private class members is optional.
  • Automatically generates references to documented classes, files, namespaces and members. Documentation of global functions, global variables, typedefs, defines and enumerations is also supported.
  • References to base/super classes and inherited/overridden members are generated automatically.
  • Includes a fast, rank based search engine to search for strings or words in the class and member documentation (PHP based).
  • Includes an Javascript based live search feature to search for symbols as you type (for small to medium sized projects).
  • You can type normal HTML tags in your documentation. Doxygen will convert them to their equivalent , RTF, and man-page counterparts automatically.
  • Allows references to documentation generated for other (doxygen documented) projects (or another part of the same project) in a location independent way.
  • Allows inclusion of source code examples that are automatically cross-referenced with the documentation.
  • Inclusion of undocumented classes is also supported, allowing to quickly learn the structure and interfaces of a (large) piece of code without looking into the implementation details.
  • Allows automatic cross-referencing of (documented) entities with their definition in the source code.
  • All source code fragments are syntax highlighted for ease of reading.
  • Allows inclusion of function/member/class definitions in the documentation.
  • All options are read from an easy to edit and (optionally) annotated configuration file.
  • Documentation and search engine can be transferred to another location or machine without regenerating the documentation.
  • Supports many different character encodings and uses UTF-8 internally and for the generated output.
  • Doxygen can generate a layout which you can use and edit to change the layout of each page.
  • There more than a 100 configurable options to fine-tune the output.
  • Can cope with large projects easily.

【文档生成工具Doxygen介绍】相关推荐

  1. 文档生成工具-Doxygen使用方法以及注释规则

    最近接触了一款程序 文档生成工具-Doxygen.在网上一搜索原来这么多人知道,打算把它的使用做一个总结,以及其注释的规则. 概述: Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文 ...

  2. python doc_Python文档生成工具pydoc使用介绍

    在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介 ...

  3. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

  4. 一款常用文档生成工具:Doxygen

    关注+星标公众号,不错过精彩内容 来源 | 简书 编排 | strongerHuang 程序员的很多文档,特别是有代码的文档,绝大部分都是由一款文档生成工具[Doxygen]生成. 什么是Doxyge ...

  5. Doxygen文档生成工具

    Doxygen代码文档生成工具 文章目录 Doxygen代码文档生成工具 Doxygen Doxygen的注释 vscode插件 Doxygen实际使用 Doxygen 根据百度百科说法,Doxyge ...

  6. 代码文档生成工具-Doxygen生成CHM和RTF图文教程

    Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,可以从一套归档源文件开始,生成chm格式的文档.本文主要讲解如何在winddows下安装doxygen. 1.下载doxyge ...

  7. 开发文档生成工具--Doxygen

    Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持PHP.C#.注释的语法与Qt-Doc.KDoc和J ...

  8. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    .NET平台开源项目速览(4).NET文档生成工具ADB及使用 原文:.NET平台开源项目速览(4).NET文档生成工具ADB及使用 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习 ...

  9. 基于文档注释接口文档生成工具(代码0侵入附源码)

    本文主要分享一个基于个人兴趣,旨在提高工作效率,开发了一个基于文档注释,接口文档生成工具,欢迎大佬指点. 源码以及使用demo地址 :传送门 1.前置介绍 1.1前世 现在大多数项目都走向了前后端分离 ...

  10. python文档生成_python文档生成工具:pydoc、sphinx;django如何使用sphinx?

    文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...

最新文章

  1. 传iPhone 4S下月初开卖
  2. mysql5.7.12 64位解压版_mysql 5.7 64位 解压版安装
  3. onvif device manager 找不到ipc_Qt音视频开发32-Onvif网络设置
  4. ssm框架使用resultful_SSM框架整合完整案例
  5. sort()基本用法
  6. Oracle 隐含参数的查询
  7. vector java 复制_Java代码性能优化的 40+ 细节
  8. 并发之AtomicIntegerFieldUpdater
  9. 局域网电脑资产搜集管理
  10. LM4890功放电路的分析
  11. 扣扣机器人唱歌_qq小冰唱歌指令生成器下载-qq小冰唱歌关键字命令生成器 _5577安卓网...
  12. Java学习Day_11
  13. “柿饼派”免费体验名单公布!
  14. 华为cor—al10_华为荣耀cor_al10是 什么型号的手机
  15. CHAPTER 23 Question Answering
  16. 基于CNN和VLAD的人体行为识别研究
  17. 《Android源码设计模式解析与实战》读书笔记(十四)
  18. 数据库分区:MySQL分区
  19. DevExpress CMB下拉树
  20. 扫描线面积并、面积交模板

热门文章

  1. Java IO流中偏移量是什么意思
  2. OutMan——C语言中的冒泡排序、选择排序、折半查找以及指针的介绍
  3. c语言打气球游戏,打气球程序求修改
  4. 贝叶斯信念网络简介以及算法整理笔记
  5. 百度快速排名 24小时进前五 刷网站排名
  6. 深度系统linux分区格式,国产系统deepin硬盘安装方法(分区为mbr格式)
  7. Ubuntu下制作deb包的方法详解
  8. java公众号图片上传_调用微信公众号接口上传图片素材
  9. 已知树节点获取树的节点路径(js树节点路径)
  10. 英语音标真的分得清楚?KK IPA DJ