Je pourrais même écrire de la documentation si demandé. Les limitations actuelles comprennent:
- le pré-processeur n'est pas fini (notamment #if, les substitutions, et les commentaires dans les directives)
- en conséquence, seuls les en-têtes (encore incomplets) de ma libc sont supportés (à ma connaissance)
- fonctionne mieux sur NetBSD, puis Linux, puis FreeBSD ou OpenBSD, puis Solaris
Tout le nécessaire se trouve dans le CVS de mon projet d'OS (un de plus):
$ cvs -d:pserver:anonymous@cvs.defora.org:/Data/CVS co DeforaOS
Il faut notamment, dans l'ordre: System/src/libSystem, Apps/Devel/src/cpp, Apps/Devel/src/as, Apps/Devel/src/c99.
Le grapheur est un module du compileur, choisi avec "c99 -M graph". Il génère des fichiers au format "dot" pour conversion avec graphviz.
Je conseille d'installer mes binaires en dehors d'un chemin du $PATH, sinon gcc risque ne va plus trouver ses petits (notamment cpp et as).
Pour conclure, je reconnais qu'il existe déjà des logiciels libres pour le faire. En plus, une bonne partie de mon code n'est pas libre pour l'instant. Mais c'était "facile" à faire avec le design ambitieux de mon compileur C (multi-OS et multi-plateformes par défaut notamment).
Merci d'avoir suivi cette auto-promotion :)
# amusant
Posté par Elghinn . Évalué à 2.
Quels sont les noms des logiciels libres permettant de réaliser la même chose (et si possible, qui ne gèrent pas seulement qu'un sous-ensemble du c, mais aussi d'autres langages) ? Parce que j'ai vraiment très envie d'essayer.
En tout cas, merci de m'avoir fait découvrir ça.
[^] # Re: amusant
Posté par Pierrick Le Gall (site web personnel) . Évalué à 1.
[^] # Re: amusant
Posté par ckyl . Évalué à 2.
[^] # Re: amusant
Posté par e-t172 (site web personnel) . Évalué à 9.
Doxygen sort des graphes du même style avec l'option HAVE_DOT activée. Y'a aussi moyen de faire des graphes d'héritage, des graphes de collaboration de classes, etc.
# alt
Posté par left . Évalué à 2.
[^] # Re: alt
Posté par Victor STINNER (site web personnel) . Évalué à 3.
http://haypo.hachoir.org/trac/wiki/graphdep
C'était pour le fun et pour tester le bibliothèque GvGen d'un ami. D'ailleurs, GvGen simplifie beaucoup l'utilisation de GraphViz ! Sinon, pour revenir aux graphes d'appel, il existe aussi ncc :
http://students.ceid.upatras.gr/~sxanth/ncc/
# Dans le même genre
Posté par Rémi Hérilier . Évalué à 3.
C'est assez différent puisque ça fait un graphe d'appels suite à une exécution et non un graphe d'appels statiques. À la vue des images données en exemple, il y a une idée que tu pourrais leur reprendre. C'est celle de l'utilisation de label sur les transitions pour indiquer le nombre d'appels. Ça te permettrait d'alléger le graphes.
Bon, c'est pas tout ça, j'ai un deadlock à éradiquer
[^] # Re: Dans le même genre
Posté par Gof (site web personnel) . Évalué à 3.
valgrind --tool=callgrind (à utiliser avec kcachegrind)
http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGr(...)
En plus il donne le temps CPU pris par chaque fonction.
L'inconvénient c'est que c'est lent !
[^] # Re: Dans le même genre
Posté par Pierre Pronchery (site web personnel) . Évalué à 2.
khorben
# cflow2vcg
Posté par PegaseYa . Évalué à 2.
http://sourceforge.net/projects/cflow2vcg/
à voir aussi
http://savannah.nongnu.org/projects/cflow2cflow/
# au feu ! \o/
Posté par grafit . Évalué à 2.
La mise en place d'un pare-feu serait souaitable au risque d'enflammer tout l'internet.
/o\
[^] # Re: au feu ! \o/
Posté par Pierre Pronchery (site web personnel) . Évalué à 1.
khorben
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.