Skip to content

Doxygen

Keaton Brown edited this page Feb 10, 2016 · 9 revisions

#Doxygen Doxygen is a tool to generate documentation from annotated source code. It supports: C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl.

##Documentation outputs: There are two main Doxygen outputs. The first is HTML. Xerces C++ Documentation is a great example. The second main output is in LaTeX. It will output a .tex file and you will have to compile it yourself. You can also output in RTF, PostScript, hyperlinked PDF, compressed HTML, and Unix man pages.

##Use: If you intend on using Doxygen it is best to start your project with the intent to comment for Doxygen in mind. If however, you have a project already done or you are working with someone else's source code you can configure Doxygen to extract the code structure from undocumented source files. Meaning it can give you a good overall layout and can provide you with dependency graphs, inheritance diagrams, and collaboration diagrams.


##Getting Started

  1. Download: ...Doxygen Download At the download page you need to pick whichever ...download fits your needs. You can compile it yourself with the source code or you can download a binary distribution ...for your respective operating system in my case I downloaded Doxygen-1.8.11.dmg for mac.

  2. Creating a Config file/Running Doxygen ...Doxygen can be run in the command line, but for simplicity we will be using the GUI. Run Doxywizard.

##Code example: This example is for (C/C++/C#/Objective-C/PHP/Java) if you wish to document another coding language refer to the Doxygen manual linked below ''' /** ... text ... / ''' ''' /! ... text ... */ ''' ''' /// /// ... text ... /// ''' ''' //! //!... text ... //! ''' Each of these comment block types are valid and are the general use cases. There are a few more options that are easily found in the Doxygen manual.

Within these code blocks you can use many different tools to help describe your code. Doxygen supports Markdown just like the github wiki pages as well as LaTeX support for including formulas and tables. It also supports HTML.

##Links: ..Download ..Manual ..*Example Outputs

Clone this wiki locally