vm-implementation - 我将如何编写虚拟机

标签 vm-implementation

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




我对虚拟机编程很感兴趣,不像 virtualbox 或 vmware 那样花哨,但可以模拟简单架构的东西,无论是 cisc 还是 risc,比如 Zilog、SPARC、MIPS 或 80686 架构模型。

我想通过这样做,制作相同类型的模拟器会相对简单,我只是对使用它来获得经验更感兴趣(作为我的第一个 C 项目,我宁愿在 C 中执行此操作而不是在还要别的吗)。

最佳答案

检查其他人在这方面做了什么!

获取有关特定类型应用程序信息的好方法(在您的情况下也是获取 c 习语的好方法)是查看相同类型的开源项目的结构和细节。为了从头开始自己的项目,人们可能会决定只是偷看、简要回顾然后“忘记”,但在所有情况下,这种类型的访问都是有益的。

既然你提到了“简单架构”和Zilog,我就想到了 Z80 处理器 可能是一个很好的匹配。由于各种原因,Z80 模拟器类型中有许多当前和过去的项目。顺便说一句,原因之一是许多旧的插槽式视频控制台在 Z80 上运行,这促使怀旧的游戏玩家编写模拟器来运行他们的旧最爱;-)

此类项目的一个示例是 YAZE-AG它包括一个完整的 Z80 模拟器以及 C/PM .整个东西是用 C 写的。它也比较成熟(2.x 版)和活跃。我猜这是一个非常小的团队(可能是一个 ;-) )的工作。

祝你好运!

关于vm-implementation - 我将如何编写虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1678538/

相关文章:

虚拟机的 C++ For 循环优化

c# - C++ - 如何消除宏? (将应用程序移植到即 c# 中)

c - 在 C 中,确保多段代码的汇编指令数是固定的

optimization - 字节码如何用于优化动态语言的执行时间?

erlang - 为什么 erlang 需要虚拟机?

Android Runtime(ART) 是虚拟机?

vm-implementation - future 的虚拟机

go - 对于实现函数式语言的虚拟机,有哪些明显的优化?

interpreter - VM 如何从解释代码切换到运行 JIT 代码?

compilation - 在 SBCL 中创建数组