Click here to Skip to main content
Click here to Skip to main content

DoxyS, advanced free C++ documentation tool

By , 5 Mar 2005
 

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

About the Author

doxys
Web Developer
Denmark Denmark
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionExport to Wiki ??memberNitin S. Jadhav12 Dec '07 - 4:20 
Is it possible to export the generated document to a Wiki ?
Code that isn't documented can then be documented using the Wiki manually.
 
!@#$%^&*()_+

GeneralProblem with callgraphsmemberSaurabh.Garg6 May '06 - 17:07 
Hi thanks for such a great tool. Overall its very nice, I like it much more then doxygen. I am, however, having some problem with callgraphs. I enabled callgraphs in the config file and also tried adding \callgraph in the functions description. DoxyS is generating incorrect callgraphs in both the cases, all the arrows representing calls from a functions point to function making those calls. I guess in the callgraph nodes representing different functions are rendered at the same place, so it appears all the arrows point to same funciton. Is this a reported bug or am I doing something wrong?
 
Thanks,
Saurabh
GeneralRe: Problem with callgraphs [modified]memberspud_m7 Dec '06 - 20:31 
Great work, brilliant tool! But I'm having the same problem... It appears that the call graph works on a class/file basis (ie. each box represents a class or a file) but displays only the first function name it calls - so if you have two functions called in the same file, it just points to itself (or has double arrows to that file).
 
If fixing it properly will take a considerable amount of time, or if screen real estate is a problem, may I suggest a quick fix:
 
Fix it in three stages:
1) As it is inaccurate (and therefore hardly usable) in its current form, first change it to display the class name (or filename if processing C) instead of the function name. This will at least make it correct and moderately useful.
2) After doing point 1), expand the box so that it lists all functions that are called from that file. This will obviously make the file boxes larger, but more descriptive.
3) After points 1) and 2), and when you have a lot more time to spare, think about pointing the arrows at the correct function in the list.

GeneralNew Release 0.87bmemberdoxys14 Feb '06 - 22:39 
Hi All
 
We have (finally Smile | :) ) released version 0.87b of DoxyS.
(see www.doxys.dk)
 
The main new thing is that all graph generation is compiled into
doxyS executable so now you don't need to install the dot tool anymore.
 
Ofcourse there are a number of bugfixes as well. One in particular is a fix
for the previous version tremendous lonf filenames which could occur and was
a real problem as they could exeed typical maximum of 256 chars.
 
We will begin fixing a lot of the bugs which people have reported since the last
release. But first we will prioritize the order in which we fix them, which will
be visible from our website during the next weeks.
 
With a little luck we get a new team member to help us out which would be very great.
 
And as allways if you should feel the urge to help us out in programming DoxyS ... Then we would like to hear from you!
 

Regards Martin Harring and Martin Lütken
 

 

QuestionDoxygen groupsmemberJKaminski11 Feb '06 - 14:38 

Why does DoxyS freak out if it sees Doxygen group tags?
AnswerRe: Doxygen groupsmemberdoxys13 Feb '06 - 9:55 
We disabled the Doxygen groups by design... because we concluded that they were hard to use and that our \page system can do something similar .....
 

.... But ...
 
We regret the decision and will reenable them again ... just need input to how they should be displayed in the documentation....
 
Regards Martin Lütken

GeneralRe: Doxygen groupsmemberJKaminski13 Feb '06 - 21:27 

It would be nice if DoxyS would just IGNORE the groups instead of throwing errors. You see, I used previously Doxygen to document a (quite large) project. And with Doxygen, the only way to get some organization in a large output, is with groups. So I took a lot of effort to put everything in groups.
I still wasn't satisfied with the result and decided to give DoxyS a try. The first thing I noticed was that I had to remove all group tags by hand (and there were a lot). The second thing was that DoxyS did not run with my sourecode anyway (see post below). Returning to Doxygen, I now have to put all groups in again Mad | :mad: ...
GeneralRe: Doxygen groupsmemberdoxys14 Feb '06 - 5:55 
I think it would be easy to make DoxyS just ignore the group tag...
 
About the templates. If you mail an example to ml@doxys.dk I will fix it as the first thing and make a new release!
 
Regards Martin Lutken
QuestionDoes not work with templatesmemberJKaminski11 Feb '06 - 14:35 

It seems that DoxyS has big problems with templates which are not directly inlined, but where the body of the template function is in a separate .inl file.
For each of these functions I get a warning: "No matching class member found". And even more, DoxyS does not produce any output and simply says "This application has requested the Runtime to terminate it in an unusual way."
With plain Doxygen, it works. Is this a bug, or what?

AnswerRe: Does not work with templatesmemberdoxys13 Feb '06 - 9:52 
I am afraid that is a bug!
Quite serious, but I must admit it has not been tested. I allways implement templates in the header file since that what STL, Boost and others do. Can you please mail a small example to bug@doxys.dk, and I will try to fix it..
 
Hopefully we can make a release within this week ... however this bug I can't promise will be fixed...
 

Regards Martin Lütken
 

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

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130523.1 | Last Updated 5 Mar 2005
Article Copyright 2005 by doxys
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid