① 下面是關於解釋程序和編譯程序的敘述,正確的是()
C、D
解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。
解釋程序它逐條地取出源程序中的語句,邊解釋,邊執行。編譯的話就是只要編譯一次,下次再執行就不用再解釋了。
(1)高級語言編譯過程正確的是擴展閱讀:
解釋程序的工作方式非常適於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。
這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。
對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。所以,解釋程序的功能是:解釋執行高級語言程序。由於它的方便性和交互性較好,早期一些高級語言採用這種方式,如BASIC、dBASE。但它的弱點是運行效率低,程序的運行依賴於開發環境,不能直接在操作系統下運行。
網路-解釋程序
② 有關高級語言和匯編語言的一些問題
問題太長了
關於移植問題,之所以匯編語言移植性,而高級語言移植性好,是因為匯編語言轉成的機器碼跟具體CPU指令集相關,而CPU不只是有intel,還有一些其他架構CPU,這些CPU架構不同指令集也不一樣,所以並不通用。
之所以高級語言移植性好,比如C/C+-,是因為在語言包裝層面上已經實現了通用!同一個print函數,在不同操作系統上,分別使用本地系統API函數來實現print函數,所以在語言層面上自然就實現了通用。而你編寫的程序使用的是C語言的print函數,而不是本地系統的API,這里的lrint是可移植在哪都好用。
高級語言,也可以通過編譯參數轉成匯編語言代碼,為了查看對比調試等,這只是一個附帶的中間過程如果有需要的話。當然編譯結果就是最終的二進制可執行文件。而且,在什麼平台就會編譯成本地平台的指令,這里指令指的是不同的CPU。在什麼平台就會生成什麼平台可執行格式,這里的平台指的是windows Linux mac等操作系統。
系統API,只是在本地好用,windows的不能用在Linux上,同理。
中斷概念沒什麼區別,可能對於處理方式會有不同罷了。
③ 使用編譯或解釋兩種方式將高級語言編寫的
【答案】D【答案解析】
機器語言和匯編語言,經編譯方式和解釋方式轉換為計算機能執行的指令;解釋方式是將源程序逐句解釋,邊解釋邊執行。
④ 21.把高級語言的源程序變為目標程序要經過 ______。 A.匯編 B.解釋 C.編輯 D.編譯 22.解釋程序的功
D 編譯。
編譯程序、解釋程序、匯編程序是3種語言處理程序。其區別主要為:匯編程序(為低級服務)是將匯編語言書寫的源程序翻譯成由機器指令和其他信息組成的目標程序。解釋程序(為高級服務)直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如BASIC解釋程序。編譯程序(為高級服務)是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。用COBOL、FORTRAN等語言編寫的程序考慮到執行速度一般都是編譯執行。
⑤ 高級語言編寫的程序轉換為計算機能直接執行的目標程序,必須經過A編輯B編譯C匯編
高級語言編寫的程序轉換為計算機能直接執行的目標程序,必須經過編譯,此題選B。
(5)高級語言編譯過程正確的是擴展閱讀:
編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序。
然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。
利用編譯程序從源語言編寫的源程序產生目標程序的過程。 用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
參考資料來源:網路-編譯
參考資料來源:網路-高級語言
⑥ 高級語言經過編譯
高級語言要執行須經過以下步驟:
高級語言——》匯編語言——》機器語言(0和1的代碼)
高級語言通過編譯其編譯成匯編語言,如:
c = a + b;//高級語言
add $s1 $t1 $t2 ; //匯編語言
再由匯編程序轉換成二進制代碼,如:
000000 10001 10010 01000 00000 100000
註:每條匯編語言都有唯一的機器語言與之對應
在翻譯成機器代碼後就要把機器代碼與原文件 鏈接 載入 於是就運行了
⑦ 高級語言採用解釋方式時的執行速度與採用編譯方式時的執行速度相比,下列____是正確的。 A、相等 B、前者
編譯方式比解釋方式執行速度來的快
編譯是把源代碼全部轉換為可以直接執行的指令,從而程序運行速度比較快。
解釋是把當前行的代碼轉換為可以直接執行的指令,執行完畢,就要解釋下一句代碼,邊解釋,邊執行,速度慢。
可以看下我貼的參考資料。希望對你有幫助
⑧ 計算機程序中,用高級語言編寫的程序經編譯後產生的程序叫什麼
高級語言編寫的代碼經過編譯後就是可執行程序,高級語言到可執行文件主要有七個個過程。
高級語言編譯的七個過程:
預處理,詞法分析,語法分析,語義分析,中間代碼產生,代碼優化,目標代碼產生。
下面對這幾個過程詳細講解:
1、預處理:
對原文件進行預處理,比如頭文件,導入的模塊,宏定義等進行處理;
2、詞法分析:
詞法分析是第一階段,這個階段的任務是從左到右一個字元一個字元的讀入源程序,對構成源程序的字元流進行掃描和分解,從而識別出一個個單詞。
3、語法分析:
語法分析的任務是在詞法分析的基礎上將單詞程序分解成各位語法短語。
4、語義分析:
語義分析是審查源程序有無語義錯誤,為代碼生成階段收集類型信息。
5、中間代碼生成:
在進行了上述的語法分析階段等工作之後,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。中間代碼生成階段要在語法和語義分析的基礎上,將源程序進一步變為一種內部表示形式,它通常易於生成、易於翻譯成目標代碼,不過不是所有的語言都必須經過這一步。
6、代碼優化:
這一階段的任務是對前一階段產生的中間代碼進行變換或進行改造,目的是使生成的目標代碼更為高效。代碼優化階段,對前階段生成的中間代碼進行變換或改造,以便生成目標代碼時更加節省時間和空間,這一工作也不是必須的。
7、目標代碼生成:
這一階段的任務是吧中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令代碼或匯編指令代碼。
⑨ 關於編譯程序說法正確的是什麼
編譯程序完成高級語言程序到低級語言程序的等價翻譯。