導航:首頁 > 源碼編譯 > 只有編譯程序產生目標程序

只有編譯程序產生目標程序

發布時間:2022-04-20 02:16:14

『壹』 下面是關於解釋程序和編譯程序的敘述,正確的是()

C、D

解釋程序是一種語言處理程序,在詞法、語法和語義分析方面與編譯程序的工作原理基本相同,但在運行用戶程序時,它直接執行源程序或源程序的內部形式(中間代碼)。因此,解釋程序並不產生目標程序,這是它和編譯程序的主要區別。

解釋程序它逐條地取出源程序中的語句,邊解釋,邊執行。編譯的話就是只要編譯一次,下次再執行就不用再解釋了。

(1)只有編譯程序產生目標程序擴展閱讀:

解釋程序的工作方式非常適於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。

這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。

對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。所以,解釋程序的功能是:解釋執行高級語言程序。由於它的方便性和交互性較好,早期一些高級語言採用這種方式,如BASIC、dBASE。但它的弱點是運行效率低,程序的運行依賴於開發環境,不能直接在操作系統下運行。

網路-解釋程序

『貳』 用高級語言編寫的源程序必須經過編譯,產生目標程序後才能運行,這句話對嗎為什麼

目標程序不能運行,必須再經過連接成可執行文件才能運行。
而且像java 和c#的程序編譯後也不是目標程序。

『叄』 為什麼編譯程序生成的目標程序不一定是可執行程序 難道不是經過了編譯、鏈接、運行了嘛

你自己都說出來了,編譯顯然不等於編譯+鏈接啊
編譯出來的可能是中間代碼,例如JAVA。

『肆』 解釋程序可以產生目標程序嗎

不可以,目標程序是編譯器產生的

解釋程序是一邊執行一邊編譯成機器代碼的,
所以他的速度沒有編譯器的快

『伍』 解釋程序和編譯程序那個能產生目標程序

都可以產生目標程序,不同的是,編譯程序是把高級語言編寫的源程序翻譯成機器語言的目標程序.解釋程序,是把某種程序設計語言編寫的源程序翻譯成機器語言的目標程序,且翻譯一條,執行一條的原則

『陸』 編譯程序和解釋程序均能產生目標程序嗎

不能
因為:編譯程序能產生目標程序而解釋程序則不能
補充:解釋程序也稱為解釋器,它或者直接解釋執行源程序,或者將源程序翻譯成某種中間表示形式後再加以執行;編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然後在計算機上運行目標程序。兩種語言處理程序的根本區別是:在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序(或某種等價表示)要參與到程序的運行過程中,運行程序的控制權在解釋程序。解釋器翻譯源程序時不生成獨立的目標程序,而編譯器則將源程序翻譯成獨立的目標程序。
補充:編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

『柒』 12. 編譯程序和解釋程序同屬於語言處理程序,下列關於它們的敘述中正確的是____________ A. 只有解釋程序

b唄 給你詳細解釋一下
A、解釋程序所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。這種工作方式非常適合於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。B、編譯程序這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。編譯程序工作時,先分析,後綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優化,存儲分配和代碼生成。為了完成這些分析綜合任務,編譯程序採用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優化和存儲分配;第四遍掃描做代碼生成。值得一提的是,大多數的編譯程序直接產生機器語言的目標代碼,形成可執行的目標文件,但也有的編譯程序則先產生匯編語言一級的符號代碼文件,然後再調用匯編程序進行翻譯加工處理,最後產生可執行的機器語言目標文件。在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高級語言較好,雖然編譯過程本身較為復雜,但一旦形成目標文件,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如BASIC,這樣可以大大縮短編程及調試的時間。

『捌』 匯編程序和編譯程序哪個產生目標程序

各種軟體,是不同的。

有的匯編程序,直接就生成可執行文件,根本就沒有目標程序。

『玖』 把源程序轉換為目標程序的過程叫什麼

一、把源程序轉換為目標程序的過程叫編譯。
二、什麼是編譯(compilation,compile)
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。
2、用編譯程序產生目標程序的動作。編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯程序把人們熟悉的語言換成2進制的。
3、編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。

『拾』 編譯程序是否能夠產生目標程序

是的。雖然常用的集成開發環境把編譯過程及鏈接過程連在一起,但從嚴格意義上講,我們通常說的編譯(靜態編譯)是把源程序轉換成語義等價的目標程序,然後由鏈接器(linker)把一個(或多個)目標程序與程序庫鏈接成可執行文件

閱讀全文

與只有編譯程序產生目標程序相關的資料

熱點內容
燈塔app是什麼意思 瀏覽:698
幾歲可以學單片機 瀏覽:24
分時圖操盤手指標源碼 瀏覽:147
怎麼把伺服器里的地圖保存起來 瀏覽:859
程序員的綠卡 瀏覽:511
壓縮avi會聲會影9 瀏覽:260
程序員晉升自薦信 瀏覽:602
域伺服器如何添加計算機 瀏覽:927
aix查找命令 瀏覽:140
pdf抗日戰爭 瀏覽:430
安卓手機如何將抖音投屏到電視 瀏覽:142
安卓皮皮蟹音樂怎麼保存本地 瀏覽:698
牆柱箍筋加密區要求 瀏覽:108
為什麼知乎app看不到圖片 瀏覽:971
tb軟體一維數組求和源碼 瀏覽:14
蘋果手機丟了如何用安卓機找回 瀏覽:895
如何把word轉換成pdf文檔 瀏覽:216
useradd命令linux 瀏覽:578
語言編程源碼分析 瀏覽:276
溫10怎麼設計加密文件 瀏覽:453