當前位置:首頁 » 編程軟體 » 做什麼需要經過編譯和解釋

做什麼需要經過編譯和解釋

發布時間: 2022-08-10 01:54:06

① 為什麼需要匯編程序,編譯程序或解釋程序

編譯程序是必須的,用戶用高級語言或匯編語言編寫的程序,計算機是不能執行的,必須要由編譯程序翻譯成機器碼程序,計算機才能識別和執行。否則,人們寫的各種程序都是無用的。
匯編程序並不是必須的,只是有些場合要用匯編語言寫程序,或部分人還用匯編語言寫程序,再由匯編程序(其實也是編譯程序)來翻譯。但現在,可以不用匯編語言寫程序了。
至於解釋程序,現在幾乎不用了。這是在早期的計算機上,用高級語言寫的程序,並不用編譯成機器碼,而是可以直接運行高級語言程序,然後由解釋程序逐條進行翻譯,一邊翻譯一邊執行。這樣的執行程度是很慢的。

② 程序的編譯過程和解釋過程是怎樣的

【編譯程序】:把用高級程序設計語言書寫的源程序,翻譯成等價的計算機匯編語言或機器語言的目標程序的翻譯程序。
【解釋程序】:對源程序邊解釋翻譯成機器代碼邊執行的高級語言程序。
高級語言的程序的執行的途徑:
1)源程序(高級語言)->【編譯程序】->目標程序(匯編語言)->【匯編程序】->目標程序(機器語言)->計算結果
2)源程序(高級語言)->【編譯程序】->目標程序(機器語言)->計算結果
3)源程序(高級語言)->【解釋程序】(逐條讀出源程序中的語句並解釋執行,即在解釋程序的執行過程中並不產生目標程序)->計算結果

③ 什麼是匯編程序,編譯程序,解釋程序分別說明他們的功能

程序按執行方式分為編譯和解釋兩種。
編譯就是將各種語言編寫的程序翻譯成機器語言(二進制)的過程。編譯好程序就是編譯程序。編譯程序在執行時不依靠其它程序,執行速度快。缺點是要對其修改非常麻煩,一般要將其反編譯成高級語言,修改後在編譯,往往一個程序要反復修改的話就非常麻煩。
解釋是程序在執行時外部程序進行翻譯。其特點與編譯相反,是解釋一句執行一句,這樣以來如果有大規模的程序運行會起來比較慢,而且其依靠能對其進行解釋的外部環境;但因為只在運行時才進行解釋,事先無需對整篇程序進行編譯,修改起來就比較方便。
我們非常熟悉c語言、Basic語言等就都提供編譯和解散兩種執行方式,我們可以以解釋的方式對其進行調試、修改,而把定型後的程序整篇進行編譯,以便日後執行。
再說明白些,就像一片英文報告,編譯就是把它整篇翻譯成中文後讓我們來看,解釋就是它一句一句翻譯給我們聽。
匯編語言是一種使用廣泛、功能強大基礎的編程語言(和C語言、basic語言、VC、java等語言一樣,都是一個編程工具而且),用匯編語言編寫的程序就是匯編程序。

④ 小白求助,編譯是什麼,為什麼需要編譯

人與機器交流(即人讓計算機按照人的意願做事)依賴於語言
語言的層次是:自然語言->高級編程語言->匯編語言->機器碼
人最熟悉的肯定是自然語言(就是你平時說的話)。
而計算機的cpu只認識二進制的機器碼,機器碼指導計算機做什麼操作(如邏輯運算)。
高級編程語言跟自然語言的關系更近些,對人來說相當於自然語言的白痴版,如java中的對象與類的概念可能對應於現實世界的某種事物,如C語言中的函數可能對應了一個功能,比如列印文件,經過簡單的訓練,人也能大概的讀懂。
匯編語言和機器碼更接近些,每個匯編指令一般都會對應一條機器碼,而高級編程語言中的一個語句(如if else什麼的)可能會對應多條匯編指令,匯編指令一般就是算術運算(如add)、邏輯運算(如and)、數據傳送(如mov)、條件判斷、跳轉等,只能用這些簡單功能的匯編指令組合來完成一個復雜的功能。人看懂匯編就很吃力了,更別提用匯編來完成想要的功能,太吃力,這個過程還是交個編譯器比較好。
而機器碼對於一般的程序員來說,就是天書,也基本沒人願意去看。
自然語言最容易表述人們的要求,當用戶用自然語言表述了需要的功能後,從自然語言到高級語言的轉換過程由程序員來完成,而由高級編程語言到匯編、由匯編到機器碼的過程都由編譯器來完成,由編譯器完成的這個過程也就是編譯了。
高級編程語言的代碼經過編譯階段成為匯編代碼,匯編代碼經過匯編階段變成機器碼,機器碼文件經過鏈接階段變成可執行文件(.exe)。一般編譯是指的編譯階段和匯編階段的組合,編譯器的工作一般是編譯和鏈接。
這就是我的理解,希望你幫到你。

⑤ 編譯程序和解釋程序都是什麼意思

1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。

(5)做什麼需要經過編譯和解釋擴展閱讀:

編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

⑥ 解釋和編譯有什麼區別

一、與計算機的交流方式不同

1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。

三、開發便捷性

1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果

2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件

四、運行速度

1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多

2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。

⑦ 編譯和解釋的區別是什麼

1.定義區別

①編譯原理旨在介紹編譯程序構造的一般原理和基本方法。內容包括語言和文法、詞法分析、語法分析、語法制導翻譯、中間代碼生成、存儲管理、代碼優化和目標代碼生成。

②匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。

2.處理方式區別

①編譯過程與解釋挺像,區別就在於編譯是將所有的源代碼指令一次性成翻目標代碼並執行。

②匯編過程就是把匯編指令一對一地翻譯成01機器碼的過程。而採用這種處理方式的語言只有一類:匯編語言。

3.特點區別

①編譯語言的特點就是不需要解釋器的參與,所以運行比較快,但是編譯好的程序只能在當前平台運行,是個局限性。

②匯編語言是當今世界上歷史最早,應用最廣,功能最強大,運行速度最快的編程語言。但是匯編語言開發工期長,可讀性差,並且不能跨平台編程。

⑧ 為什麼要對C源程序進行編譯、鏈接

首先要說的是C語言屬於高級語言,不能直接被計算機識別而執行,所以需要一些操作來轉化。。一開始是編譯預處理,對宏,包含指令,編譯指令等進行處理,然後是詞法語法分析,將源代碼翻譯成中間代碼(一般是匯編),接著優化代碼,,然後將中間代碼翻譯成機器語言(目標文件),機器語言是計算機的基層語言,能被計算機直接識別。。接著鏈接目標文件,生成可以執行文件。。。大概就是這樣。。詳細的LZ可看這個總結。。http://bbs.zdnet.com.cn/thread-1614727-1-1.html

⑨ 用高級語言編寫的源程序,要轉換為與其等價的目標程序,必須經過 編譯。編譯和解釋的區別是什麼啊

高級語言編寫的源程序就是你直接寫的代碼,計算機讀不懂。
編譯你直接寫的代碼【源程序】會使源程序變成另外一種代碼:匯編代碼【最底層的源程序,所以單獨分成一類】然後,匯編代碼計算機業讀不懂,但是他可以被方便的轉換為計算機讀得懂的010010101...這種代碼,這種代碼就是你要得到的東西【程序文件】,就是目標程序。

熱點內容
vivox9什麼配置參數 發布:2024-03-29 21:08:09 瀏覽:936
傳奇計時器刷怪腳本 發布:2024-03-29 20:50:18 瀏覽:653
哇哇賺錢腳本 發布:2024-03-29 20:23:53 瀏覽:997
兩氣體壓縮 發布:2024-03-29 20:18:09 瀏覽:994
易語言教程解壓 發布:2024-03-29 20:18:00 瀏覽:786
我老爸的密碼是什麼 發布:2024-03-29 20:03:50 瀏覽:248
資料庫定義實驗 發布:2024-03-29 19:52:20 瀏覽:579
如何除去安卓手機的馬賽克 發布:2024-03-29 19:52:16 瀏覽:585
網站緩存設置 發布:2024-03-29 19:47:20 瀏覽:799
在jsp中使用資料庫 發布:2024-03-29 19:29:01 瀏覽:786