【问题标题】:Is there an online/standalone Computer Simulator / Demo program?是否有在线/独立计算机模拟器/演示程序?
【发布时间】:2011-09-23 11:37:06
【问题描述】:

我希望能够让学生了解确切在现代计算机中执行程序时会发生什么 - 例如。内存地址、引用、栈、堆等的使用。

理想情况下,我希望他们能够玩某种演示,其中运行一个简单的应用程序(例如计算器、基本数据库等)并且可以暂停,并且运行该程序的机器的状态可以在相当程度上查看通过“漂亮”的 GUI 实现低级别。

这样的应用程序存在吗?如果没有,任何超级程序员可以就编写这样的软件的可行性提出建议吗?目标受众可能是学习现代 OO 语言(最好是 C#、Java)的 Comp Sci 一年级学生。

编辑:

我以为这已经凉了,但今天有人发帖,所以我想我最好更新一下……

我可能应该在这个问题中加上“图灵”和“机器”这两个词。我想人们以为我想调试 Windows 或其他东西,而实际上我只是在考虑 TM。 This is a pretty good simulator,虽然按照今天的标准来说并不漂亮。

如果有人知道其他人,我会很感激你发布一个链接。谢谢。

【问题讨论】:

  • 不知道是否存在,但至于可行性,看来本质上还是得自己写个编译器,可能要花很长时间。
  • 周围有很多计算机“模拟器”和“检查器”程序,但我认为它们不会回答您的问题。如果你想老老实实模拟一台计算机,有VMware、Bochs、QEMU等虚拟化软件。如果你想检查应用程序执行的指令,可以使用gdb之类的调试器。无论哪种情况,问题都是您会被执行任何有意义的指令所需的指令数量所淹没。
  • 我想知道是否可以在应用程序代码级别做一些事情,并考虑在 Java 和 C# 中使用反射来驱动类和数据交换的可视化表示。非常感谢您的想法。

标签: memory heap-memory execution stack-memory turing-machines


【解决方案1】:

我一直在谷歌搜索相同的东西(实时查看堆和堆栈的能力)并遇到了这个:

http://www.pythontutor.com/visualize.html#mode=edit

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多