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