Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

general.cherche-logiciel : Analyse de code C++

Posté par alberthier (page perso, ) le 01 décembre 2006
Bonjour je cherche un utilitaire pour analyser du code C++ et me renvoyer des infos comme la liste des méthodes, des variables, etc.. préférence en ligne de commande. Par exemple, je voudrais pouvoir lister les méthodes d'un fichier :



cpp-parser methods MyClass.h



renvoie

MyClass::MyClass()

MyClass::~MyClass()

MyClass::method1()

MyClass::method2()



ou bien

cpp-parser private-variables MyClass.h



renvoie :

int m_toto

bool m_tata

std::string m_name



J'ai trouvé Source Navigator ( http://sourcenav.sourceforge.net/ ) mais je cherche plutôt un truc qui génère des listings plutôt qu'un outil graphique.



Merci

> Lire le message (9 commentaires, moyenne: 1,2).  

Vous avez demandé le commentaire #781015.

avec gccxml ?

Posté par Troy McClure (page perso, ) le 01/12/2006 à 19:04. (lien). Évalué à 1.

http://www.gccxml.org/HTML/Index.html

  • [^]Re: avec gccxml ?

    Posté par David Decotigny (page perso, ) le 01/12/2006 à 20:12. (lien). Évalué à 1.

    Oui, on peut meme utiliser ca pour faire un peu de reflexivite, par exemple avec SEAL/Reflex (http://seal-reflex.web.cern.ch/seal-reflex/index.html ).

    Une autre solution est de partir du code compile, ou plus precisement des infos de debuggage. Il y a enoooooormement d'infos qui sont generees pour le debuggage, on l'oublie souvent. Sous Unix, il y a par exemple libdwarf qui permet d'y avoir acces relativement simplement (http://reality.sgiweb.org/davea/dwarf.html ). L'avantage, c'est qu'on est assure (modulo bugs) que ces infos sont exactes, puisque c'est le compilo qui les genere a la compilation. Alors qu'avec des outils comme gccxml, les infos sont generes par /un/ gcc, certes, mais c'est parfois difficile de faire en sorte que ce soit la /meme/ version de gcc (memes patches, etc).

    --
    d2
    • [^]Re: avec gccxml ?

      Posté par Sebastien Binet () le 01/12/2006 à 22:02. (lien). Évalué à 1.

      doxygen ?
      LXR +Glimpse ?
      LXR +Swish-e ?

      Reflex c'est bien mais c'est lourd a mettre en place et le jour n'est pas loin ou il sera completement phagocyte par ROOT.

      Je connaissais pas Dwarf... Merki :)

    [^]Re: avec gccxml ?

    Posté par alberthier (page perso, ) le 04/12/2006 à 15:16. (lien). Évalué à 1.

    Très très intéressant, merci pour le lien !