Click here to Skip to main content
15,890,385 members
Articles / Programming Languages / C++
Article

DoxyS, advanced free C++ documentation tool

Rate me:
Please Sign up or sign in to vote.
4.92/5 (25 votes)
5 Mar 20051 min read 144.9K   64   50
C++ documentation tool inspired by MS documentation style

Introduction

DoxyS is a code documentation tool for C++/C. DoxyS strives to yield a very professional looking output, presenting the the code in a structured easy to navigate set of HTML pages. Easy to use: just navigate to the root of your code directory and type doxys.

Currently it runs on Windows and Linux, but should be quite portable.

Main features

  • Generated output reflects the code directory structure.
  • Layers of abstraction with heavy use of overview tables providing names and brief descriptions of classes, functions etc. Inspired by Microsoft documentation.
  • Wiki like syntax for writing directory level documentation and related documentation pages or even design documents.

Sample Image - Function_description.jpg

Other key features

  • Generated output reflects the code directory structure.
  • Layers of abstraction with heavy use of overview tables providing names and brief descriptions of classes, functions etc. Inspired by Microsoft documentation.
  • Wiki like syntax for writing directory level documentation and related documentation pages or even design documents.
  • Built in incremental search engine (JavaScript).
  • Various diagrams with mouse over effects to provide additional information.
  • Strong support for templates, enumerations and overloaded functions.
  • Freedom to put documentation blocks anywhere.
  • Professional output with consistent placement of special sections like: Note, See Also, Examples etc.
  • Automatic linking to known entities.
  • Can cope with very large projects.

Screenshots

Sample screenshot

Sample screenshot

Sample screenshot

Sample screenshot

Sample screenshot

Sample screenshot

Sample screenshot

Sample screenshot

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Denmark Denmark
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionExport to Wiki ?? Pin
Nitin S. Jadhav12-Dec-07 4:20
Nitin S. Jadhav12-Dec-07 4:20 
GeneralProblem with callgraphs Pin
Saurabh.Garg6-May-06 17:07
Saurabh.Garg6-May-06 17:07 
GeneralRe: Problem with callgraphs [modified] Pin
spud_m7-Dec-06 20:31
spud_m7-Dec-06 20:31 
GeneralNew Release 0.87b Pin
doxys14-Feb-06 22:39
doxys14-Feb-06 22:39 
QuestionDoxygen groups Pin
JKaminski11-Feb-06 14:38
JKaminski11-Feb-06 14:38 
AnswerRe: Doxygen groups Pin
doxys13-Feb-06 9:55
doxys13-Feb-06 9:55 
GeneralRe: Doxygen groups Pin
JKaminski13-Feb-06 21:27
JKaminski13-Feb-06 21:27 
GeneralRe: Doxygen groups Pin
doxys14-Feb-06 5:55
doxys14-Feb-06 5:55 
QuestionDoes not work with templates Pin
JKaminski11-Feb-06 14:35
JKaminski11-Feb-06 14:35 
AnswerRe: Does not work with templates Pin
doxys13-Feb-06 9:52
doxys13-Feb-06 9:52 
GeneralRe: Does not work with templates Pin
JKaminski14-Feb-06 11:52
JKaminski14-Feb-06 11:52 
GeneralRe: Does not work with templates Pin
doxys14-Feb-06 22:30
doxys14-Feb-06 22:30 
GeneralPhysicalArchitecture Pin
ErickR29-Dec-05 10:19
ErickR29-Dec-05 10:19 
GeneralRe: PhysicalArchitecture Pin
ErickR29-Dec-05 10:22
ErickR29-Dec-05 10:22 
GeneralRe: PhysicalArchitecture Pin
doxys30-Dec-05 6:03
doxys30-Dec-05 6:03 
GeneralRe: PhysicalArchitecture Pin
ErickR30-Dec-05 7:03
ErickR30-Dec-05 7:03 
Thanks for the quick reply. Also, I wanted just to comment briefly on your statements.

1. I concur...class/function documentation is not where I like to start looking at a system and DoxyS does a marvelous job in extending documentation for subsystem or package level entities.

2. DoxyS really does allow us to integrate a design document with source code without making it painful (i.e. XML). The design and source really become one in the same; and when someone new to the system has a high level starting point to look at, it makes it easier to for them to dig deeper into the details (that is...the details they are individually interested in). This is a huge difference from other tools that I hope people recognize when they first start using DoxyS...one exception to this might be Headway ReView now called Structure 101 (but it's not free!).

3. Lastly, since DoxyS was designed to document the physical structure of any text content (not just logical source elements - class, function) it only makes sense that it would mesh well with physical software design techniques as presented by John Lakos. What I realize now is the similarities are not coincendental in nature but merely intrinsic to the problem of designing and documenting a system comprised of a heirarchy of physical entities.

4. With that said, I think DoxyS has potential of going further in this direction. Some ideas include making use of package and component diagrams. Making use of the Lakos metrics (CCD, NCCD, ACD, etc.) or even other object-oriented metrics (Martin's instability and abstractions principles) is relatively trivial but can offer a lot of insight into the high-level structure of a system. Lastly, but not so closely related is enabling pdf support for all of this great documentation we are now doing.

My response was much too "longer" than yours, but I just wanted to affirm my approval with what DoxyS has done and hopefully bring to your attention how closely it's paradigm is related to physical software design. This is such a fundamental difference to Doxygen (and others) that I don't think it should be brushed aside. Thanks, ErickR
GeneralVery Well,but... Pin
Pandele Florin25-Jul-05 3:28
Pandele Florin25-Jul-05 3:28 
GeneralRe: Very Well,but... Pin
doxys25-Jul-05 6:35
doxys25-Jul-05 6:35 
GeneralWindows security keeps freaking out Pin
CasualT9-Jun-05 15:52
CasualT9-Jun-05 15:52 
GeneralRe: Windows security keeps freaking out Pin
John M. Drescher9-Jun-05 16:33
John M. Drescher9-Jun-05 16:33 
GeneralRe: Windows security keeps freaking out Pin
CasualT10-Jun-05 6:40
CasualT10-Jun-05 6:40 
GeneralExcellent Pin
bernierm4923-May-05 4:13
bernierm4923-May-05 4:13 
GeneralFuture plans Pin
MarkWrobel28-Mar-05 0:59
MarkWrobel28-Mar-05 0:59 
GeneralRe: Future plans Pin
doxys30-Mar-05 0:01
doxys30-Mar-05 0:01 
GeneralRe: Future plans Pin
Bobby Mihalca11-Apr-05 4:27
Bobby Mihalca11-Apr-05 4:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.