我正在阅读有关CIL的内容,并且我一直看到对“虚拟执行堆栈”的引用(例如,在创建局部变量并为其分配值时)。
但我完全不明白虚拟执行堆栈是什么。它是“调用堆栈”,当我们说结构被加载到堆栈上时,我们总是引用相同的堆栈吗?
答案 0 :(得分:3)
堆栈指令集直接在硬件中执行。另一方面,虚拟堆栈指令在软件中解释。虚拟化与虚拟机(虚拟机)处于同一线路上,您可以在虚拟机内部获得仿真操作系统。在虚拟堆栈中,所有硬件堆栈都被抽象(隔离)远离您。
例如,机器语言(010001)由硬件(CPU)直接处理。另一方面,虚拟指令由软件处理,模拟和隔离底层硬件的复杂行为。请参阅:http://en.wikipedia.org/wiki/Stack_machine#Virtual_stack_machines
阅读一些关于“Java虚拟机”的内容,这可能是最受欢迎的虚拟堆栈机器实现。