web-dev-qa-db-fra.com

Documentation de type Javadoc pour C++

Existe-t-il des systèmes de génération de documentation similaires, tels que Javadoc, pour C++? Javadoc produit une sortie Nice; Ce serait génial si vous pouviez utiliser quelque chose comme ça dans d'autres langues. 

50
DHamrick

Il existe plusieurs outils qui fonctionnent comme JavaDoc pour C++. L’outil le plus populaire est probablement doxygen . Il peut gérer des commentaires de type JavaDoc, ainsi que plusieurs langages (par exemple, C++, C, Java, Objective-C, Python, PHP, C #). Il supporte assez bien le tweaking du style de la sortie HTML en utilisant CSS (voir la liste users pour des exemples de documentations).

Lorsque vous choisissez le système de documentation, vous devez vous assurer que celui-ci vous permet de

  • Documentez les entités qui vous intéressent. Souhaitez-vous documenter le système en suivant la structure du code ou selon une autre division de module?.
  • Mise en forme de la sortie que vous voulez. Il est préférable que la documentation corresponde au style général de votre projet.

Notre expérience avec doxygen est qu’il est assez facile à configurer et à utiliser et que le résultat obtenu est assez facile à modifier. Malheureusement, le doxygen n’est pas parfait, il est donc parfois nécessaire de résoudre des problèmes ou des anomalies dans lesquelles l’analyseur de doxygen tombe en panne. Assurez-vous d'inspecter soigneusement toute la documentation générée.

55
Zayenz

Vous ne pouvez pas utiliser javadoc spécifiquement, mais il existe quelques outils qui font ce que vous voulez. Celui que la plupart des gens ont tendance à utiliser est le Doxygen. Voici quelques liens pour Doxygen et Doc ++:

Doxygen
Doc ++

20
Ben Lakey

Il y a Doxygen

11
Grant Limberg

Il existe également qdoc pour les projets C++ basés sur QT. http://doc-snapshot.qt-project.org/qdoc

1
Yair

Je commence tout juste à utiliser Sphinx pour mes projets Python. Sa page d'accueil indique "C/C++ est également déjà supporté".

Il utilise un balisage léger appelé " reStructuredText ".

Je viens de commencer à l'utiliser pour mes projets Python et j'aime beaucoup l'aspect de la sortie.

0
Dan H