Forum: PC-Programmierung Liste von Funktionsaufrufen erstellen


von ltw (Gast)


Lesenswert?

Hallo, ich habe folgendes Problem: gegeben sei ein recht umfangreiches 
Projekt in C (embedded, aber von der Problemstellung her so allgemein, 
dass es imo durchaus hierher passt), und ich will nun eine Liste 
sämtlicher Funktionsaufrufe in einer Funktion haben.
Z.B.:
1
foo(){
2
    bar();
3
}
4
5
bar(){
6
    foobar();
7
    anotherFunction();
8
}
9
10
foobar(){
11
}
12
13
anotherFunction{
14
}
15
16
notUsed(){
17
}
18
19
firstFunction(){
20
foo();
21
}

Herauskommen sollte dann z.B. sowas:
firstFunction:
foo
bar
foobar
anotherFunction

Form, Reihenfolge, Duplikate ist alles relativ egal, Hauptsache per 
Script weiter verarbeitbar.
Doxygen kann ja beispielsweise auch in der Doku eine Liste erzeugen, 
welche Funktionen referenziert werden, allerdings eben immer nur in der 
ersten Ebene.
Prinzipiell würde auch eine Referenzliste für jede einzelne Funktion 
reichen, die man dann ja als Baum parsen könnte.
Kennt jemand ein Programm dafür?

von Rene H. (Gast)


Lesenswert?

Auf Linux am ehsten

ctags -x

Grüsse,
R.

von Daniel -. (root)


Lesenswert?

>Form, Reihenfolge, Duplikate ist alles relativ egal, Hauptsache per
>Script weiter verarbeitbar.

cflow macht dir einen Aufrufbaum
ich glaube, das passt sehr gut zur "per script verarbeiten"-Anforderung

http://www.gnu.org/software/cflow/


Gruß

von StinkyWinky (Gast)


Lesenswert?

doxygen macht dir das als verlinkte Liste, wenn die Option 
REFERENCES_RELATION angewählt ist.

von gaast (Gast)


Lesenswert?

Daniel -------- schrieb:
>>Form, Reihenfolge, Duplikate ist alles relativ egal, Hauptsache per
>>Script weiter verarbeitbar.
>
> cflow macht dir einen Aufrufbaum
> ich glaube, das passt sehr gut zur "per script verarbeiten"-Anforderung
>
> http://www.gnu.org/software/cflow/

Danke, hört sich gut an, werd ich mir mal ansehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.