系統(tǒng)軟件有哪些? 計(jì)算機(jī)高級(jí)程序語(yǔ)言的兩種工作方式(解釋方式和編譯方式)的區(qū)別是什么?
計(jì)算機(jī)高級(jí)程序語(yǔ)言的兩種工作方式(解釋方式和編譯方式)的區(qū)別是什么?用高級(jí)語(yǔ)言編寫(xiě)的程序不能被計(jì)算機(jī)直接識(shí)別,只能在轉(zhuǎn)換后執(zhí)行。按換算方法可分為兩類(lèi):1??谧g課執(zhí)行方法類(lèi)似于我們?nèi)粘I钪械摹巴晜髯g
計(jì)算機(jī)高級(jí)程序語(yǔ)言的兩種工作方式(解釋方式和編譯方式)的區(qū)別是什么?
用高級(jí)語(yǔ)言編寫(xiě)的程序不能被計(jì)算機(jī)直接識(shí)別,只能在轉(zhuǎn)換后執(zhí)行。按換算方法可分為兩類(lèi):1。口譯課
執(zhí)行方法類(lèi)似于我們?nèi)粘I钪械摹巴晜髯g”。應(yīng)用程序的源代碼由相應(yīng)語(yǔ)言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),并同時(shí)執(zhí)行,應(yīng)用程序離不開(kāi)解釋器是有效的,但這種方式靈活,可以動(dòng)態(tài)地調(diào)整和修改應(yīng)用程序。典型的解釋性高級(jí)語(yǔ)言是基礎(chǔ)語(yǔ)言。
2. Compiler class
編譯器是在應(yīng)用程序源程序執(zhí)行之前,將源代碼翻譯成目標(biāo)代碼(機(jī)器語(yǔ)言),使目標(biāo)程序在沒(méi)有其語(yǔ)言環(huán)境的情況下可以獨(dú)立執(zhí)行,更加方便、高效。但是一旦需要修改應(yīng)用程序,它必須首先修改源代碼,然后重新編譯以生成新的對(duì)象文件(*)。Obj)執(zhí)行時(shí),只有目標(biāo)文件,沒(méi)有源代碼,修改起來(lái)非常不方便?,F(xiàn)在大多數(shù)編程語(yǔ)言都是編譯的,如visualc++、Delphi等。
高級(jí)語(yǔ)言程序的兩種處理方式分別是什么?高級(jí)?
高級(jí)語(yǔ)言有兩種執(zhí)行模式。一是解釋方式。所謂的解釋模式從源程序的第一條語(yǔ)句開(kāi)始,首先解釋每條語(yǔ)句,然后立即執(zhí)行剛才解釋的指令,然后對(duì)下一條語(yǔ)句進(jìn)行相同的處理,直到處理完所有語(yǔ)句為止。解釋方法的一個(gè)特點(diǎn)是翻譯后的計(jì)算機(jī)指令不會(huì)被保存(不會(huì)生成目標(biāo)代碼)。執(zhí)行這些二進(jìn)制指令后,它們將丟失。因此,解釋性語(yǔ)言必須在每次不被執(zhí)行時(shí)被重新翻譯和執(zhí)行。2、 所謂編譯方法,首先通過(guò)編譯器將整個(gè)源程序中的所有語(yǔ)句翻譯成匯編語(yǔ)言源程序,然后通過(guò)匯編程序?qū)R編語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言的機(jī)器指令,形成機(jī)器語(yǔ)言。EXE文件(可執(zhí)行文件)。EXE文件是可以直接運(yùn)行的文件。擴(kuò)展1、C、C、Java、Python等高級(jí)語(yǔ)言的設(shè)計(jì)都是為了克服匯編語(yǔ)言可移植性差的缺點(diǎn),擺脫底層硬件設(shè)計(jì),用人類(lèi)思維編寫(xiě)程序。高級(jí)語(yǔ)言表達(dá)貼近人類(lèi)語(yǔ)言,具有較強(qiáng)的問(wèn)題描述能力、較高的通用性和可讀性。2所有在計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)語(yǔ)言都需要轉(zhuǎn)換成機(jī)器語(yǔ)言(只有0和1)才能執(zhí)行。高級(jí)語(yǔ)言由編譯器翻譯成機(jī)器語(yǔ)言,匯編語(yǔ)言由匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言。
計(jì)算機(jī)高級(jí)程序語(yǔ)言的兩種工作方式(解釋方式和編譯方式)的區(qū)別?
編譯是指將源語(yǔ)言轉(zhuǎn)換成目標(biāo)計(jì)算機(jī)的可執(zhí)行二進(jìn)制代碼,例如在windows上將C和C編譯成可執(zhí)行二進(jìn)制文件。一旦編譯完成,它只能在特定的平臺(tái)上運(yùn)行。因?yàn)槌绦驁?zhí)行編譯的二進(jìn)制文件,所以速度相對(duì)較快(相對(duì)于下面的解釋?zhuān)=忉屢馕吨绦虿蛔魅魏胃?,而是以源代碼的形式提供給目標(biāo)計(jì)算機(jī)執(zhí)行。但是,源代碼計(jì)算機(jī)無(wú)法識(shí)別它。因此,有必要同時(shí)解釋和執(zhí)行。這樣,它比編譯要慢。因?yàn)槌绦蛐枰谶\(yùn)行時(shí)動(dòng)態(tài)地解釋語(yǔ)言,所以它通常需要一個(gè)特定的平臺(tái)。例如,Java需要在目標(biāo)機(jī)器上安裝JRE。但該方法還具有跨平臺(tái)、源代碼不變、運(yùn)行時(shí)根據(jù)不同平臺(tái)執(zhí)行不同二進(jìn)制代碼等優(yōu)點(diǎn)。翻譯有兩種方式:編譯和口譯。
編譯方法:預(yù)先編譯一個(gè)名為compiler的機(jī)器語(yǔ)言程序并放入計(jì)算機(jī)。當(dāng)用高級(jí)語(yǔ)言編譯的源程序輸入計(jì)算機(jī)時(shí),編譯器自動(dòng)將源程序翻譯成由機(jī)器指令表示的目標(biāo)程序。
解釋模式:一個(gè)稱(chēng)為解釋器的機(jī)器語(yǔ)言程序預(yù)先編程并放入計(jì)算機(jī)。當(dāng)高級(jí)語(yǔ)言源程序輸入計(jì)算機(jī)時(shí),解釋器自動(dòng)逐句翻譯源程序并逐句執(zhí)行。
可以理解,編譯的結(jié)果是另一種語(yǔ)言,而解釋是一種中間語(yǔ)言。
高級(jí)語(yǔ)言處理程序的編譯方式和解釋方式的區(qū)別?
編譯和執(zhí)行:將源程序翻譯成機(jī)器語(yǔ)言(生成可執(zhí)行文件,如com或EXE文件),然后執(zhí)行。解釋和執(zhí)行:將一行源程序翻譯成機(jī)器語(yǔ)言,然后執(zhí)行;將下一行源程序翻譯成機(jī)器語(yǔ)言,然后執(zhí)行。翻譯一個(gè)句子,執(zhí)行一次。不生成可執(zhí)行文件)
高級(jí)語(yǔ)言程序的兩種處理方式分別是什么?
編譯模式和解釋模式。編譯方法是將所有高級(jí)語(yǔ)言翻譯成機(jī)器指令,然后交給計(jì)算機(jī)執(zhí)行;解釋方法是逐句翻譯高級(jí)語(yǔ)言,翻譯一句話,執(zhí)行一句話,而不產(chǎn)生整個(gè)目標(biāo)程序。