可视化C ++以帮助理解它

时间:2009-11-16 19:09:55

标签: c++

我现在正在学校学习C ++。我们正在使用Dev-C ++进行一些简短的练习。有时我发现很难知道我在哪里犯了错误,或者在程序中真正讨厌的是什么。我们的老师教我们画画。在使用链接列表和指针时它们非常有用,但有时我的绘图本身是错误的。

(可视化链表的图纸示例:nl.wikibooks.org/wiki/Bestand:GelinkteLijst.png)

是否有任何软件可以解释我的C ++代码/程序并将其可视化(为我制作图纸)? 我发现了这个:link text

其他链接: cs.ru.ac.za/research/g05v0090/images/screen1.png和 cs.ru.ac.za/research/g05v0090/index.html

这看起来像我需要的,但不能用于任何下载。我试图联系那个人但没有回答。

有人知道这样的软件吗?我猜也可能对其他学生有用......

亲切的问候,

juFo

4 个答案:

答案 0 :(得分:6)

这与实际标题无关,但我想就如何理解程序中发生的事情提出一个简单的建议。

我不知道你是否看过一个调试器,但它是一个很好的工具,可以极大地提高你对正在发生的事情的理解。根据您的IDE,它将具有更多或更少的功能,其中一些应包括:

  • 查看当前的调用堆栈(允许您了解调用的是什么函数)
  • 查看当前可访问的变量及其值
  • 允许您一步一步地走,看看每个值如何变化
  • 还有很多甚至更多。

因此,我建议您花一些时间了解IDE的特定调试器,并开始使用所有这些功能。有时候只需单击Next就可以获得更多东西。有些事情可能包括动态代码评估,可以追溯到时间等等。

答案 1 :(得分:2)

看看DDD。它是调试器的图形前端。

通常尝试使用调试程序来了解您的程序正在执行的操作,它们可以逐步引导您完成代码。

答案 2 :(得分:1)

如果我记得的话,{p> Doxygen有一个基本的形式,但它实际上只是一个更大的图书馆的一个小功能,所以这可能对你想要的东西有点过分。 (虽然这是一个很棒的文档程序!)

答案 3 :(得分:0)

将代码反向工程到某种图表,IMO的利益有限。理解程序流程的更好方法是在调试器中执行代码。如果你还没有使用调试器,你应该;对于这个特定问题,它是更合适的工具。

在重用或维护未记录或未记录的遗留代码时,将图表反向工程代码很有用,但它很少暴露代码的设计意图,因为它缺少您在设计代码时使用的抽象。您不应该在自己刚刚编写的新代码上使用这些东西!此外,即使是相当好的工具也很昂贵。

如果您认为可以避免设计,只需交出自动生成的图表,请不要。很明显它是一个自动生成的图表!