3
我正在閱讀有關CIL的內容,並且我一直看到對「虛擬執行堆棧」的引用(例如創建本地變量併爲其分配值時)。什麼是「虛擬執行堆棧」?
但我完全不明白虛擬執行堆棧是什麼。它是「調用堆棧」,當我們說結構被加載到堆棧時,我們總是提到相同的堆棧?
我正在閱讀有關CIL的內容,並且我一直看到對「虛擬執行堆棧」的引用(例如創建本地變量併爲其分配值時)。什麼是「虛擬執行堆棧」?
但我完全不明白虛擬執行堆棧是什麼。它是「調用堆棧」,當我們說結構被加載到堆棧時,我們總是提到相同的堆棧?
堆棧指令集直接在硬件中執行。另一方面,虛擬堆棧指令以軟件解釋。虛擬化與虛擬機(虛擬機)在同一線上,您將在虛擬機內獲得模擬的操作系統。在虛擬堆棧中,所有硬件堆棧都被抽象(孤立)遠離你。
例如,機器語言(010001)由硬件(CPU)直接處理。另一方面,虛擬指令由軟件處理,模擬和隔離底層硬件的複雜行爲。請參閱:http://en.wikipedia.org/wiki/Stack_machine#Virtual_stack_machines
閱讀一些關於「Java虛擬機」的內容,這可能是虛擬堆棧機中最流行的實現。
@Teoman:你能詳細說一點嗎?謝謝! – richard 2011-04-30 05:49:00
@Teoman:好的,謝謝。在談論CIL時,虛擬執行堆棧是否與.NET中總是提到的調用堆棧相同?只有這一堆?我只是想知道他們是否是同一件事的兩個名字? – richard 2011-04-30 05:54:21
@Teoman:好的,謝謝。所以你說只有一個「堆棧」,「調用堆棧」,「虛擬執行堆棧」。然後還有一堆,完全不同。正確? – richard 2011-04-30 06:01:11