Doxygen简介马秋梅05/06/15Doxygen的来历写文档是一件非常冗杂的事情。有些机构聘请一个或多个专门人员来处理整个工作描述文档。一个Java开发者突发奇想,“如果我们设计一个可以根据我们的源文件注释来产生文档的工具,那会怎样呢?”,于是JavaDoc就诞生了。那么C++编程者怎么办?还要继续进行这种冗杂的工作吗?这时候Doxygen的出现解决了这个难题。Doxygen是什么?Doxygen的词根来源于Document(文档)和Oxygen(氧气),是一种适合C风格语言(如C++、C、IDL、Java甚至包括C#和PHP)的、跨平台的、开放源码的、基于命令行的代码文档产生器。Doxygen由荷兰人DimitrivanHeesch.开发,并且在GNU公共许可证(GPL)下发布,目前已经成为各主要的Linux发行版的附带组件。众多重量级的软件项目(如KDE,Qt、ACE库等)都选用Doxygen作为其编档工具生成项目文档。Doxygen可以做什么?一、可以从一套文档化的源代码中,生成一份可在线浏览的文档(HTML格式)或离线参考手册(LATEX格式)。还可以生成RTF(MS-Word)、PS、PDF以及Unixmanpages等格式的文档。二、可以从没有文档化的源代码中抽取代码结构。这一点对于快速理清大型的源代码包的脉络很有帮助。还可以通过自动生成的依赖图,继承图,协作图来将不同元素之间的关系可视化(分析他人的代码(没有注释或者注释很糟糕)来得到原作者的设计思路、实现方法,这样自己就可以根据需要进行相应的修改。)。三、可以“滥用”doxygen来创建普通的文档(杀鸡使用宰牛刀了)。Doxygen工作流程图Doxygen使用了一个基于文本的配置文件,你可以在配置文件中设定大量的选项来控制Doxygen的行为。配置文件的格式与一般的配置文件相似,是由名称/值对组成的ASCII码,由doxygen命令来解析。有两种方式可以创建和修改配置文件:1、Doxygen可以在命令行方式下加上参数-g自动创建模板文件,然后你就可以修改这个配置文件。2、也可以使用Doxygen提供的辅助工具Doxywizard。Doxywizard是Doxygen的GUI前台,用户可以通过它来读写配置文件,省却了手工配置的麻烦。如何使用Doxygen?如何生成Doxygen配置文件?(一)doxygen–gconfig-file忽略config-file将会生成一个名为Doxyfile的缺省文件,如果config-file已经存在,会被Doxygen改名为config-file.bak。jedDoxyfile编辑这个模板文件,使之符合你的需求。需要特别注意的选项:PROJECT_NAME=CalibROOTPROJECT_NUMBER=1.0.0OUTPUT_DIRECTORY=/home/maqm/htmlINPUT=/s01/maqm/boss-05-06-06/CalibrationCLASS_GRAPH=YES(会为每个归档的类创建一张图表示其直接或间接的继承关系。)INCLUDE_GRAPH=YES(为每个归档文件创建一幅包含依赖图)COLLABORATION_GRAPH=YES(会为每个归档类或结构绘制基类继承关系图和使用关系图)CALL_GRAPH=YES(会为每个函数显示一幅直接或间接调用关系图)GRAPHICAL_HIERARCHY=YES(将会绘制一个图形表示的类图结构)SOURCE_BROWSER=YESSHOW_INCLUDE_FILES=YESFILE_PATTERNS=*.cxx*.hRECURSIVE=YESALPHABETICAL_INDEX=YESGENERATE_HTML=YESGENERATE_LATEX=YESPDF_HYPERLINKS=NOEtc.如何生成Doxygen配置文件?(二)doxywizard如何生成需要的文档?doxygenDoxyfile生成用户定制的文档。如何使用浏览器浏览生成的文档?把生成的html目录下的文件拷贝到自己根目录下的public_html目录下,就大功告成了。~maqm/实例抛砖引玉,谢谢大家!