2014-01-19 45 views
0

我最近開始學習編程原理。目前有一些概念對我來說是抽象的。 我想知道什麼是「機器」在編譯方面。或者一臺機器的例子對我來說也是有好處的。如何理解機器是「它本身就是其他東西必須站立的基礎」?在編譯方面什麼是「機器」?

+0

可能你問的是一個*抽象機*,它是一個常用於描述編譯器使用的中間代碼語義的術語(參見例如「Warren Abstract Machine」)。 –

回答

4

在這種情況下,機器是執行代碼的最廣義的任何代碼。這突出地包括物理計算硬件(從微控制器到智能手機到臺式計算機到超級計算機),還包括執行相同功能的軟件,例如虛擬機/模擬器/解釋器/你擁有什麼。

+0

我不知道如果將解釋器作爲機器'編譯',不會混淆初學者。 –

2

在這個意義上的機器將是實際的物理計算機。在編譯方面:您編寫的每個代碼最終都需要編譯到機器代碼中。更準確地說,它是計算機的微處理器,並且CPU的所有輸入都必須使用機器語言。當您使用高級語言(C,Java等)進行編程時,編譯器(或通過虛擬機/仿真器)爲您處理所有機器代碼。

由於CPU是進行所有計算和程序執行的CPU,因此它和它理解的語言是構建其他語言的基礎。從更廣泛的意義上講,機器也可以是在物理機器上運行的虛擬機,並且取決於視角。

相關問題