Wikipedia hat eine Definition für eine control flow graph. Ich habe auch gehört, dass die Terminologie auf "call (flow?) Graph" verweist, aber keine relevanten Ressourcen finden kann. Wie ist die Beziehung zwischen den beiden?Praktische Unterschiede zwischen Kontrollflussdiagramm und Call (Flow?) Graph?
Antwort
Wikipedia definiert eine call graph als eine Darstellung von die aufrufenden Beziehungen zwischen Unterprogrammen in einem Programm. In einem Aufrufgraphen, eine Kante zwischen zwei Knoten f
und g
:
f --> g
stellt die Tatsache dar, dass Subroutine f
Subroutine aufruft g
. Ein Aufrufdiagramm gibt eine interprozedurale Ansicht eines Programms.
Ein Control Flow Graph (CFG) liefert feinere "Details" in die Struktur des Programms als Ganzes und insbesondere der Subroutinen. Zum Beispiel wird das CFG von einer Subroutine f
macht explizit alle Pfade, die durch eine bedingte Verzweigung induziert werden:
/branch1 \
begin --> condition --> --> codeblock --> g --> end
\ branch2/
Diese Art von CFG verwendet wird, um eine intra-prozeduralen Ansicht einer Subroutine zu bauen.
+1 von mir .. Übrigens würde ich die Definition in Wikipedia nicht als autoritativ verwenden. – Jus12
- 1. Unterschiede zwischen Call, Push + ret und Push + Jump in Assembly
- 2. Graph - Was sind die Unterschiede zwischen eingebetteten und topologischen Graphen?
- 3. Open Graph: og: Bildanzeige Unterschiede ZWISCHEN LINKEDIN UND FACEBOOK
- 4. praktische Unterschied zwischen int und char
- 5. C# Call-Graph-Generierungstool
- 6. Geeting Control Flow Graph von ANSI C-Code
- 7. Bash Unterschiede zwischen {} und()?
- 8. TBB Flow Graph bedingte Ausführung UND mehrere Ein- und Ausgänge
- 9. Call-Graph-Profiler in Python
- 10. Unterschiede zwischen Java-Applet- und Anwendungsgrafikfähigkeiten
- 11. Steuerung Flow-Graph-Generator für C# Code
- 12. PHP Application Flow Graph (oder Funktionsaufruf)
- 13. Unterschied zwischen Bind, Apply und Call-Methode?
- 14. Unterschiede zwischen Go und Cython
- 15. Unterschiede zwischen Mustererkennung und Vereinheitlichung?
- 16. Unterschiede zwischen ActionExecutingContext und HttpActionContext
- 17. Unterschiede zwischen memchr() und strchr()
- 18. Unterschiede zwischen Thread.sleep() und TimeUnit.SECONDS.sleep()
- 19. Unterschiede zwischen Minimalschlüssel und Kandidatenschlüssel?
- 20. Unterschiede zwischen Coroutines und `goto`?
- 21. Unterschiede zwischen Log und Logger?
- 22. Unterschiede zwischen _redirect ('*/* /') und _redirect ('*/*')
- 23. Unterschiede zwischen BaseHttpServer und wsgiref.simple_server
- 24. Unterschiede zwischen schwach und unsafe_unreated
- 25. Unterschiede zwischen RestKit und AFIncrementalStore
- 26. Unterschiede zwischen BasicRenderEngine und LazyRenderEngine?
- 27. Unterschiede zwischen AForge und OpenCV
- 28. Unterschiede zwischen ado und bde
- 29. Unterschiede zwischen OPC und DDS?
- 30. Unterschiede zwischen mousemove und touchnove
Ich glaube nicht, dass "Call Flow Graph" ein Standardbegriff ist. Wo bist du darauf gestoßen? –
Ich denke OP bedeutete "Call Graph". – Jus12