日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

解釋和編譯的區(qū)別

 bylele 2013-04-03
計(jì)算機(jī)并不能直接地接受和執(zhí)行用高級(jí)語(yǔ)言編寫(xiě)的源程序,源程序在輸入計(jì)算機(jī)時(shí),通過(guò)"翻譯程序"翻譯成機(jī)器語(yǔ)言形式的目標(biāo)程序,計(jì)算機(jī)才能識(shí)別和執(zhí)行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。編譯方式是指利用事先編好的一個(gè)稱為編譯程序的機(jī)器語(yǔ)言程序,作為系統(tǒng)軟件存放在計(jì)算機(jī)內(nèi),當(dāng)用戶將高級(jí)語(yǔ)言編寫(xiě)的源程序輸入計(jì)算機(jī)后,編譯程序便把源程序整個(gè)地翻譯成用機(jī)器語(yǔ)言表示的與之等價(jià)的目標(biāo)程序,然后計(jì)算機(jī)再執(zhí)行該目標(biāo)程序,以完成源程序要處理的運(yùn)算并取得結(jié)果。解釋方式是指源程序進(jìn)入計(jì)算機(jī)后,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計(jì)算機(jī)一句句執(zhí)行,并不產(chǎn)生目標(biāo)程序。如PASCAL、 FORTRAN、COBOL等高級(jí)語(yǔ)言執(zhí)行編譯方式;BASIC語(yǔ)言則以執(zhí)行解釋方式為主;而PASCAL、C語(yǔ)言是能書(shū)寫(xiě)編譯程序的高級(jí)程序設(shè)計(jì)語(yǔ)言。


編譯程序、解釋程序、匯編程序是3種語(yǔ)言處理程序。其區(qū)別主要為:匯編程序(為低級(jí)服務(wù))是將匯編語(yǔ)言書(shū)寫(xiě)的源程序翻譯成由機(jī)器指令和其他信息組成的目標(biāo)程序。解釋程序(為高級(jí)服務(wù))直接執(zhí)行源程序或源程序的內(nèi)部形式,一般是讀一句源程序,翻譯一句,執(zhí)行一句,不產(chǎn)生目標(biāo)代碼,如BASIC解釋程序。編譯程序(為高級(jí)服務(wù))是將高級(jí)語(yǔ)言書(shū)寫(xiě)的源程序翻譯成與之等價(jià)的低級(jí)語(yǔ)言的目標(biāo)程序。編譯程序與解釋程序最大的區(qū)別之一在于前者生成目標(biāo)代碼,而后者不生成;此外,前者產(chǎn)生的目標(biāo)代碼的執(zhí)行速度比解釋程序的執(zhí)行速度要快;后者人機(jī)交互好,適于初學(xué)者使用。用COBOL、FORTRAN等語(yǔ)言編寫(xiě)的程序考慮到執(zhí)行速度一般都是編譯執(zhí)行。

解釋程序

所謂解釋程序是高級(jí)語(yǔ)言翻譯程序的一種,它將源語(yǔ)言(如BASIC)書(shū)寫(xiě)的源程序作為輸入,解釋一句后就提交計(jì)算機(jī)執(zhí)行一句,并不形成目標(biāo)程序。就像外語(yǔ)翻譯中的“口譯”一樣,說(shuō)一句翻一句,不產(chǎn)生全文的翻譯文本。這種工作方式非常適合于人通過(guò)終端設(shè)備與計(jì)算機(jī)會(huì)話,如在終端上打一條命令或語(yǔ)句,解釋程序就立即將此語(yǔ)句解釋成一條或幾條指令并提交硬件立即執(zhí)行且將執(zhí)行結(jié)果反映到終端,從終端把命令打入后,就能立即得到計(jì)算結(jié)果。這的確是很方便的,很適合于一些小型機(jī)的計(jì)算問(wèn)題。但解釋程序執(zhí)行速度很慢,例如源程序中出現(xiàn)循環(huán),則解釋程序也重復(fù)地解釋并提交執(zhí)行這一組語(yǔ)句,這就造成很大浪費(fèi)。

編譯程序

這是一類很重要的語(yǔ)言處理程序,它把高級(jí)語(yǔ)言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進(jìn)行翻譯轉(zhuǎn)換,產(chǎn)生出機(jī)器語(yǔ)言的目標(biāo)程序,然后再讓計(jì)算機(jī)去執(zhí)行這個(gè)目標(biāo)程序,得到計(jì)算結(jié)果。編譯程序工作時(shí),先分析,后綜合,從而得到目標(biāo)程序。所謂分析,是指詞法分析和語(yǔ)法分析;所謂綜合是指代碼優(yōu)化,存儲(chǔ)分配和代碼生成。為了完成這些分析綜合任務(wù),編譯程序采用對(duì)源程序進(jìn)行多次掃描的辦法,每次掃描集中完成一項(xiàng)或幾項(xiàng)任務(wù),也有一項(xiàng)任務(wù)分散到幾次掃描去完成的。下面舉一個(gè)四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語(yǔ)法分析;第三遍掃描做代碼優(yōu)化和存儲(chǔ)分配;第四遍掃描做代碼生成。

值得一提的是,大多數(shù)的編譯程序直接產(chǎn)生機(jī)器語(yǔ)言的目標(biāo)代碼,形成可執(zhí)行的目標(biāo)文件,但也有的編譯程序則先產(chǎn)生匯編語(yǔ)言一級(jí)的符號(hào)代碼文件,然后再調(diào)用匯編程序進(jìn)行翻譯加工處理,最后產(chǎn)生可執(zhí)行的機(jī)器語(yǔ)言目標(biāo)文件。

在實(shí)際應(yīng)用中,對(duì)于需要經(jīng)常使用的有大量計(jì)算的大型題目,采用招待速度較快的編譯型的高級(jí)語(yǔ)言較好,雖然編譯過(guò)程本身較為復(fù)雜,但一旦形成目標(biāo)文件,以后可多次使用。相反,對(duì)于小型題目或計(jì)算簡(jiǎn)單不太費(fèi)機(jī)時(shí)的題目,則多選用解釋型的會(huì)話式高級(jí)語(yǔ)言,如BASIC,這樣可以大大縮短編程及調(diào)試的時(shí)間。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多