文档生成工具doxygen+图像生成工具GraphViz

虽然jdk自带的javadoc也很好用,不过使用doxygen+GraphViz 的组合可以生成许多强大的图(类图、协作图、文件包含/被包含图、函数调用/被调用图、类继承体系图等),另外,doxygen支持直接生成chm文档,支持LaTeX公式,如果你有一个支持php的服务器,生成的html还可以加入一个搜索框。

doxygen是开源的C语言软体,可以在它的官方网站上下载到软体和源码:
http://www.stack.nl/~dimitri/doxygen

使用它的doxyWizard很是方便^^ 具体用法我写在了附件的文档中(不过注释是C++版,doxygen是可以使用默认的javadoc注释的,你只需要将设定改成output for Java)。
它还可以自定义css/head/foot,由于用于内部交流于是就没有设定,可以在Export的HTML选项卡中修改,传说中MySQL的文档就是doxygen生成的。。。

doxygen内置了生成类图的功能,只需要设定Diagram的项。
要生成更多图的请下载GraphViz。
它是一款强大的可以生成很多种图像的软件,同样也是开源的:http://www.graphviz.org/
它还提供了Java支持,有一个纯java编写的子项目Grappa。按照上面的说明,似乎java程序可以通过Grappa库来实现GraphViz的功能(Grappa调用GraphViz的接口)。

大家有兴趣可以尝试一下 挺好玩的说^^
附件是一个Doxygen使用简介.docx,里面包含了我这几天玩得doxyWizard的简单使用说明。
以及 一个使用doxyWizard生成的chm文件,只用了类图、文件包含图和类继承体系图。

Doxygen使用简介.docx】 【DBOp.chm

生成图演示:

  • 类图
  • 协作图
  • 文件包含图
  • 函数调用图
  • 类继承体系图
  • http://www.cppblog.com/prayer/archive/2009/12/24/103989.html

文档生成工具doxygen+图像生成工具GraphViz的更多相关文章

  1. GIS专业书籍、文档、数据、网站、工具等干货

    整理.分享一些个人整理的GIS专业书籍.文档.数据.网站.工具等.也希望大家将自己的心得也分享出来,一起交流,共同进步. 如果下载链接失效,请到这里去:地信网 一.原理应用类 GIS基础类 01.地理 ...

  2. Android根据word模板文档将表单数据生成word文档的方案整理

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 尝试的方案包括以下几种: freemarker 只能在java项目上运行,无法在Android项目上运行: 参考资料:<Fre ...

  3. api的mock开源工具;api文档生成器;api的mock工具;阿里系;其他开源

    django-rest-framework,即drf的api文档,包括自带的文档和其他三方文档,比如swagger.DRF Docs等 https://www.django-rest-framewor ...

  4. MFC多文档中opencv处理图像打开、保存

    需要在C**Doc和C**View中进行相应修改 图像打开: Doc.cpp中: BOOL CCVMFCDoc::Load(IplImage** pp, LPCTSTR csFilename) { I ...

  5. (转)Doxygen文档生成工具

    http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...

  6. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  7. GhostDoc:生成.NET API文档的工具 (帮忙文档)

    在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具.   1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...

  8. Markdown 文档生成工具

    之前用了很多Markdown 文档生成工具,发现有几个挺好用的,现在整理出来,方便大家快速学习. loppo: 非常简单的静态站点生成器 idoc:简单的文档生成工具 gitbook:大名鼎鼎的文档协 ...

  9. 使用FastReport报表工具生成标签打印文档

    在我们实际开发报表的时候,我们需要按一定的业务规则组织好报表的模板设计,让报表尽可能的贴近实际的需求,在之前的随笔中<使用FastReport报表工具生成报表PDF文档>介绍了FastRe ...

随机推荐

  1. ScrollView中添加ListView

    <p>.要点一:去除ListView的scrollBar,添加ScrollView的scrollBar:</p> <ScrollView android:layout_w ...

  2. elasticsearh 中每个节点中需要有相同的插件

    elasticsearh 中每个节点中需要有相同的插件 [2016-09-13 19:25:24,049][INFO ][discovery.zen ] [node02] failed to send ...

  3. cf446A DZY Loves Sequences

    A. DZY Loves Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...

  4. Linux网络编程--多播

    一.多播介绍 什么是多播? 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信.单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信.实际情 ...

  5. 创建UILabel

    UILabelCreate.h #import <UIKit/UIKit.h> @interface UILabelCreate : UILabel /** * 创建UILabel 初始化 ...

  6. SEXTANTE中调用任意C++控制台程序的简单例子

    在sextante中单纯利用python或者调用sextante已有算法进行自定义开发,很多情况下速度不咋给力,同样的操作调用QGIS的C++插件比用sextante里的算法要快,有时候快的 还不止一 ...

  7. HTTP协议1之协议详解--转

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...

  8. Log4net 列

    配置 <configuration> <configSections> <section name="log4net" type="Syst ...

  9. 教师投票系统(JSP+MySQL)

    display.jsp <%@ page language="java" import="java.sql.*" pageEncoding="g ...

  10. css 实现进度条

    <select id="progress" onchange="changeProgress(this)"> <option value=&q ...