Click here to Skip to main content
15,910,877 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 145.4K   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: 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 
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 
Hi Stefan.
Thanks for the nice words about DoxyS.

The "arial.ttf":
Dot, the external program for making all the graphs, is using the font. For every directory we want to run dot in, we need the font file Frown | :-( We are aware of the problem, and will fix it!
At the end of the documentation process DoxyS should remove all the fonts again.

The database:
It's a very good idea to put things in a database. It will save a whole lot of time when creating the documentation.
We would very much like your help to make the database.
Please write to doxys@doxys.dk so we can arrange something.

Reading the data from Javascript:
You are right, it takes up a lot of space!
All source files is parsed and made linkable form the c++ code. Therefore it will be very problematic/imposible to read it up as you click on the link.
To do this, it will requre some kind of user rights for the script to access the code files.
The code and the documentation will easily get out of synch.

DoxyS is made to easy to use. Unzip, generate and click on the link. That's the reason for making it in HTML, but an option for database output will be fantastic.

Please elaborate on the last part:
"- I have seen, that you parse "normal and old web projects with javascript code". What's about web projects written in VB.NET? Here you have classes, methods and members too. Please support ASP.NET! This would be a nice feature."


Kind regards
The DoxyS team (Martin Harring & Martin Lütken)
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 
GeneralRe: Why did you fork Doxygen?? Pin
doxys13-Mar-05 10:40
doxys13-Mar-05 10:40 
GeneralGreat Work Pin
pyrokar5-Mar-05 21:15
pyrokar5-Mar-05 21:15 
GeneralRe: Great Work Pin
doxys6-Mar-05 22:53
doxys6-Mar-05 22:53 
GeneralToo much screenshots... Pin
Uwe Keim5-Mar-05 19:58
sitebuilderUwe Keim5-Mar-05 19:58 
GeneralToo many ... Pin
Anonymous6-Mar-05 1:12
Anonymous6-Mar-05 1:12 

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.