將高級語言編寫的程序翻譯成機器語言程序,可采用兩種翻譯方式:編譯和解釋。解釋方式是將源程序逐句解釋執行,即解釋一句執行一句,在解釋方式中不產生目標文件。編譯方式是將整個源程序先翻譯成機器語言程序,然后再生成可執行程序,通常會產生目標程序。
本教程操作環境:windows7系統、Dell G3電腦。
將高級語言編寫的程序翻譯成機器語言程序,可采用兩種翻譯方式:編譯和解釋。
-
解釋方式是將源程序逐句解釋執行,即解釋一句執行一句,因此在解釋方式中不產生目標文件。例如早期的BASIC語言采用的就是“解釋”方式。
-
編譯方式是將整個高級語言編寫的源程序先翻譯成機器語言程序,然后再生成可在操作系統下直接運行的執行程序,通常會產生目標程序。
編譯和解釋的區別
編譯是將源程序翻譯成可執行的目標代碼,翻譯與執行是分開的;而解釋是對源程序的翻譯與執行一次性完成,不生成可存儲的目標代碼。這只是表象,二者背后的最大區別是:對解釋執行而言,程序運行時的控制權在解釋器而不在用戶程序;對編譯執行而言,運行時的控制權在用戶程序。
解釋具有良好的動態特性和可移植性,比如在解釋執行時可以動態改變變量的類型、對程序進行修改以及在程序中插入良好的調試診斷信息等,而將解釋器移植到不同的系統上,則程序不用改動就可以在移植了解釋器的系統上運行。同時解釋器也有很大的缺點,比如執行效率低,占用空間大,因為不僅要給用戶程序分配空間,解釋器本身也占用了寶貴的系統資源。
編譯器是把源程序的每一條語句都編譯成機器語言,并保存成二進制文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯后的程序運行的快的.