Click here to Skip to main content
15,891,607 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 145K   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

 
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 
GeneralGreat Stuff... Pin
Cap'n Code15-Mar-05 14:14
Cap'n Code15-Mar-05 14:14 
GeneralRe: Great Stuff... Pin
doxys16-Mar-05 22:10
doxys16-Mar-05 22:10 
Question__gc filtering? Pin
Tom112-Mar-05 4:26
Tom112-Mar-05 4:26 
Thanks for a great tool! Very impressive.

In using doxys for C++ .NET code, the __gc specifier seems to confuse the way variables are identified. I get multiple variables all called __gc (but hiding their real name) in the output listing.

I built a filter to strip out 'whitespace __gc' then set up the doxys control file to pass the
input through that filter (wonderful feature!). This works in that all the variables are now properly listed in the output, but I have problems when using array specifiers. The variable is listed just as a scalar.

For example: int a __gc[];

is run through the filter, producing: int a[];

In the documentation, the variable is described as int a
with no mention that it is an array.

Is this correct or the way it's supposed to work?

-- Tom




AnswerRe: __gc filtering? Pin
doxys13-Mar-05 1:34
doxys13-Mar-05 1:34 
GeneralHelp file generation Pin
Abyss10-Mar-05 2:32
Abyss10-Mar-05 2:32 
GeneralRe: Help file generation Pin
doxys10-Mar-05 4:43
doxys10-Mar-05 4:43 
GeneralExcellent Pin
John M. Drescher9-Mar-05 6:52
John M. Drescher9-Mar-05 6:52 
GeneralVERY GOOD but some hints Pin
Stephan Pilz8-Mar-05 1:57
Stephan Pilz8-Mar-05 1:57 
GeneralRe: VERY GOOD but some hints Pin
doxys8-Mar-05 9:08
doxys8-Mar-05 9:08 
GeneralRe: VERY GOOD but some hints Pin
Stephan Pilz8-Mar-05 20:54
Stephan Pilz8-Mar-05 20:54 
GeneralOut of memory Pin
soundman327-Mar-05 5:19
soundman327-Mar-05 5:19 
GeneralRe: Out of memory Pin
doxys8-Mar-05 0:53
doxys8-Mar-05 0:53 
GeneralRe: Out of memory Pin
doxys13-Mar-05 1:37
doxys13-Mar-05 1:37 
GeneralDifference Pin
Franz Klein7-Mar-05 4:00
Franz Klein7-Mar-05 4:00 
GeneralRe: Difference Pin
doxys8-Mar-05 0:11
doxys8-Mar-05 0:11 
GeneralVery good Pin
adrian cooper7-Mar-05 1:38
adrian cooper7-Mar-05 1:38 
QuestionWhy did you fork Doxygen?? Pin
Roland Pibinger6-Mar-05 1:18
Roland Pibinger6-Mar-05 1:18 
AnswerRe: Why did you fork Doxygen?? Pin
Paul Selormey6-Mar-05 3:50
Paul Selormey6-Mar-05 3:50 
AnswerRe: Why did you fork Doxygen?? Pin
doxys6-Mar-05 22:50
doxys6-Mar-05 22:50 
GeneralRe: Why did you fork Doxygen?? Pin
H. Gohel13-Mar-05 6:43
H. Gohel13-Mar-05 6:43 

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.