programm was c-funktionsaufrufe per baumdiagramm anzeigt

dettus

Bicycle User
hey!

kennt einer von euch ein proggie/tool, das mir bei (gegebenem c-code) in einer baumstruktur anzeigt, welche funktionen welche anderen aufrufen?
so nach dem motto

Code:
main (main.c)
 ! 
 !
 +-----void init (main.c)
 !
 +-----int filedialog (file.c)
 !              !
 !              +------ int fileopen (file.c)
 !              !
 !              +------- int filesave (file.c)

das problem hier ist naemlich konkret, dass ich etwas c-code von hand compilieren muss, und nach vier monaten endlich mal wissen moechte, wie weit ich bin.

eigentlich koennte man sich sowas ja natuerlich auch selbst basteln, mit ein wenig c- und latex-sauereien sollte das kein problem sein. man muss dazu ja "nur"
1. nach top-level { greppen und gucken welcher funktionsname davor steht
2. nach den funktionsnamen hinter den { greppen.

aber irgendwie fehlt mir doch die lust *g*
 
Hi,

wenn du schon ein kleines Zeilenmosnster hast, ist es eventuell ein wenig spät.
Schau dir mal Doxygen an. Ich habe selbst noch nice damit gearbeitet, aber es sollte so was in der Richtung können.

CU

Martin
 
Doxygen kann ich dir auch empfehlen.

Es kann wirklich eine ganze Menge und ist ein absolut geniales Dokumentationssystem.

Man kann damit im wahrsten Sinne durch den Quellcode browsen. Kann sich unter anderem auch Call-Graphen generieren lassen.


Gruß, r0b0
 
Ich kann dir auch empfehlen mal mit dem Profiler drueber zu gehen. Damit siehst du dann auch gleich, wer welche Funktion wie oft aufruft, und welche Funktionen ueberhaupt nicht aufgerufen werden. Sehr aufschlussreich.
 
dettus schrieb:
hey!

kennt einer von euch ein proggie/tool, das mir bei (gegebenem c-code) in einer baumstruktur anzeigt, welche funktionen welche anderen aufrufen?

Sieh' Dir mal cxref an, das laesst sich vielleicht fuer Deine Zwecke aufbohren (bzw. abspecken): http://www.gedanken.demon.co.uk/cxref/

Wenn Du den OpenBSD-Port fertig hast, sag' Bescheid :)

eigentlich koennte man sich sowas ja natuerlich auch selbst basteln, mit ein wenig c- und latex-sauereien sollte das kein problem sein. man muss dazu ja "nur"
1. nach top-level { greppen und gucken welcher funktionsname davor steht
2. nach den funktionsnamen hinter den { greppen.

Wenn Du es richtig machen wolltest, dann muesstest Du schon einen mehr oder weniger kompletten C-Parser schreiben, und das koennte zum sofortigen Verlust Deiner Kranken- und Lebensversicherungen fuehren. :eek:
 
Zurück
Oben