編譯方式
Ⅰ 為什麼高級語言中存在編譯和解釋兩種編譯方式
編譯方式:事先編好的一個叫做編譯程序的機器語言程序放在計算機中。當高級語言編的源程序輸入計算機時,編譯程序就把源程序自動整個地翻譯成用機器指令表示的目標程序。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。
因此往往需要特定的平台,由於程序執行的是編譯好的二進制文件,這種編譯一旦完成,那麼就只能在特定平台上運行了:編譯是指將源語言轉化為目標計算機的可執行二進制代碼兩者互有優劣,因此速度比較快(相對下面的解釋)。
解釋方式:事先編好的一個叫做解釋程序的機器語言程序放在計算機中,當高級語言源程序輸入計算機後,解釋程序自動地逐句翻譯源程序,譯一句執行一句。 可以這么理解,編譯的結果是另外一種語言,而解釋的就是一種中間語言。
Ⅱ 編譯方式和解釋方式的根本區別是什麼
計算機內部運行時所能識別的語言是機器語言即0和1,我們普通編的程序或網站網頁都是用人能理解的工具編輯的源程序代碼,這種代碼電腦是不能直接識別和運行的。需要進行轉換成機器能識別的代碼。轉換過程有兩種形式。編譯方式和解釋方法。
編譯方式,就是把需要運行的源代碼通過工具一次性編譯成機器代碼如我們常見的文件名後.exe或.com的這種類型,電腦運行時直接運行編譯過的程序,速度運行快.
解釋方式:源程序代碼文件可能很很多,很長,每次程序運行時.都需要一個文件、一句一句調入電腦然後翻譯成機器代碼,再運行,時間長\運行速度慢。如現在網站常用的.asp就是這種格式。
Ⅲ C語言的翻譯方式是編譯方式還是解釋方式
這是一種命名方式,一種縮寫.clearerr=clearerror.因為是文件操作類函數的所以以f開頭(file).fopen=fileopenfclose=fileclose這些都是標准庫,常用的就那幾個,多用幾次就熟悉了.建議看下"駝峰命名法","匈牙利命名法"!
Ⅳ java和c的編譯方式有什麼區別
我的第一次判斷失誤,請教了一位高手,理論解釋如下:
編譯器的問題,java的編譯器在遇到i++和i- -的時候會重新為變數運算分配一塊內存空間,以存放原始的值,而在完成了賦值運算之後,將這塊內存釋放掉,而C語言中的i=i++就只是完成i++的內容,所以結論會不同。
原理也可以這么說:
Java中:
int temp=i;//重新分配變數內存
i=i+1;
i=temp;
C中:
i=i;//i還是i
i++;
樓主,是不是考慮加點分,答案得來不容易啊 :-)
Ⅳ 請問編譯方式和解釋方式的根本區別在什麼地方
編譯方法可以生成目標代碼 解釋方法不能
Ⅵ 用易語言編譯程序用哪種編譯方式多好
靜態編譯和獨立編譯不一樣嗎?如果按易語言的版本來判斷是靜態編譯比較好,但是我覺得獨立編譯比較穩定。
Ⅶ 高級語言中的解釋方式和編譯方式的區別
兩者的區別如下:
解釋方式:程序運行時,取一條指令,將其轉化為機器指令,再執行這條機器指令。這種方式每次運行程序時都要重新翻譯整個程序,效率較低,執行速度慢,如QB,不過現在很少再用這種低效的方式的設計語言了。
編譯方式:程序運行時之前,將程序的所有代碼編譯為機器代碼,再運行這個程序。然後每次執行的時候就可以直接執行這個翻譯好的二進制文件了,這樣的程序只需要翻譯一次,效率明顯要高很多,現在的大多數語言都是這種方式,網頁中的asp.net 採用的也是這種方式。