計算機有直譯器為什麼還要有編譯器?明顯是編譯器要快捷於直譯器啊

時間 2022-07-08 00:10:14

1樓:匿名使用者

下面這個回答可以參考:

編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快;

而直譯器則是只在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的.

這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)

編譯是將源程式翻譯成可執行的目標**,翻譯與執行是分開的;而解釋是對源程式的翻譯與執行一次性完成,不生成可儲存的目標**。這只是表象,二者背後的最大區別是:對解釋執行而言,程式執行時的控制權在直譯器而不在使用者程式;對編譯執行而言,執行時的控制權在使用者程式。

解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變數的型別、對程式進行修改以及在程式中插入良好的除錯診斷資訊等,而將直譯器移植到不同的系統上,則程式不用改動就可以在移植了直譯器的系統上執行。同時直譯器也有很大的缺點,比如執行效率低,占用空間大,因為不僅要給使用者程式分配空間,直譯器本身也占用了寶貴的系統資源。

2樓:匿名使用者

這兩種是不同的方法,解釋是將**翻譯一條執行一條,一直到程式結束,翻譯的2進製**不儲存。編譯是將**一次翻譯完,形成可執行的2進製檔案。

一種語言要編譯器和直譯器,那編譯器和直譯器又是用什麼寫的呢?

3樓:天之魔神

一般是用c或者彙編之模擬較底層的東西寫出來的

4樓:匿名使用者

彙編或者c,通用來說是比其本身更低階的語言

python 3 編譯器的.py檔案為什麼在直譯器中無法開啟?

5樓:匿名使用者

這個不是內建的庫,所以不能直接這樣子引用哦,記得帶上路徑

6樓:gta小雞

在cmd命令列中輸入python fibo.py

python編譯器是什麼直譯器是什麼?

7樓:匿名使用者

python一般是解釋執行的……就是說通常情況下是直接解釋(或者說你不知道有編譯這個過程)

python實際執行的時候會將**編譯成位元組碼的pyc檔案(這一步是編譯,由編譯器負責)之後執行pyc當中的位元組碼(這一步是直譯器的工作,為了避免每次執行都要編譯加快速度)

j**a的虛擬機器 編譯器 直譯器 都什麼關係啊?

j**a語言編譯和解釋執行的具體過程是怎樣的?

j**a編譯器和j**a直譯器分別是幹什麼用的?我只知道j**a編譯成class檔案需要編譯器

8樓:匿名使用者

如果做一件事情,需要三個步驟的話,寫**第一步,編譯器做了第二步(把**轉換成位元組碼),直譯器做第三步(把位元組碼解釋成最終的執行**),因為一次性到第三步有點複雜!想想現實生活中這樣的例子吧,比如說多語種翻譯之類的!

為什麼要學習計算機,為什麼要學電腦科學

樂小影 因為當今社會,是一個資訊化的社會,計算機技術和網路技術日益普及,所以計算機水平已經成為人們最基本的素質,也是人們必備的基本技能,對學生來說,計算機基礎知識它不僅是學生的必修課,同時也是走向社會必備的技能和立足之本。在普及階段我們熟悉了電腦,並學習電腦基礎知識和基本操縱技能,在後期純熟後則更能...

學習計算機為什麼要學好計算機應用基礎

蘭州新華網際網路學校 學計算機技術就應該將基礎先掌握熟練,這樣才能更好進行之後的學習,而且需要在比較專業的地方學習 我已萌出天際 你要是會的話就可以不學啊!學習不就是為了長點見識 不至於犯低階錯誤嘛! 陝西新華電腦學校 在科技快速成長,資訊實際即來臨的今日,人類的智慧型結晶 電腦.在現代人的生活中扮...

學習計算機的目的,為什麼要學習計算機

拿高薪,計算機是現在最熱門的專業,在it行來的發展,需要10年才走到it行來的最端,計算機是學無止境的。如果你打算學計算機就要有耐心。網際網路技術行業是很不錯的 1 電腦行業需求量大,工作很好找,而且工作環境也不錯。2 電腦行業的工作與社會接觸都比較緊密,緊跟潮流,所以見識和思想都會比較開放,也有利...