Click here to Skip to main content
15,911,141 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

 
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 
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 
Hello,

After test in my big project (>2700 source files > 52 MB source code) I must say: VERY NICE AND GOOD. You get a rating of 5 from me. Nevertheless I have some hints or ideas, the make DoxyS better:

- In each directory you generate a file "arial.ttf". In my project is there a sum of 142 files with 43 MB. And I can not found any code snippet, that use this arial.ttf Sleepy | :zzz:

- Have you think about the idea, to build a database with all informations and generate the website's dynamical instead of static html-files? In this case, I think, you can decrease the complete result set (>1GB !!! in my project), because you don't need all informations redundant. If you want, I can help you to design the database struct Smile | :) . Maybe this is also better to solve my next idea:

- I good an fast way to update all, if I have made some changes in source code. To generate all help files for my project I wait 1,5 hours !!! on a P4-3000 with 1GB RAM.

- Maybe it's a better solution, to put some javascript code in the HTML-files, to show some source code instead to put the source code in the html files direct. The javascript code can load the source direct from source file.

- 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.

Best regards
Stephan
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 
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.