首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟机和非虚拟机-堆栈和跟踪

虚拟机和非虚拟机-堆栈和跟踪
EN

Stack Overflow用户
提问于 2013-01-30 19:47:10
回答 1查看 125关注 0票数 2

我在这里读了很多问题,它们解释了堆栈和堆是什么,例如这个:What and where are the stack and heap?,它非常有帮助。

我知道高级语言被编译成一种中间语言,例如用于Java的字节码和用于.NET程序的MSIL。然后将MSIL和字节码编译成机器码。

我的理解是,中间语言使用堆栈和堆,然后程序被编译成机器代码,这是与平台相关的,例如基于windows的寄存器。

然而,在问题中,我已经链接到一些回答者,例如Brian R.Bondy提供了C和C++示例。我知道C++没有虚拟机,直接编译成机器码。我的问题是:没有虚拟机的编程语言有堆栈和堆吗?在这些编程语言的情况下,它们是否使用堆栈和堆作为中间表示,同时直接编译为机器码?

更新我意识到有基于堆栈和基于寄存器的虚拟机。我要问的问题是:所有的物理机都是基于寄存器的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-30 23:51:20

我发现有一些物理机器的例子,其中处理器具有基于堆栈的指令集,例如RTX2000系列、UCSD Pascal p-Machine和Burroughs的B5000和B6000系列机器(取自此问题:Stack-based machine depends on a register-based machine?)。看起来处理器使用的实际指令集可以是基于堆栈的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14603264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档