編譯程序概念主題討論
1. 什麼是編譯程序
編譯程序指將某一種程序設計語言寫的程序翻譯成等價的另一種語言的程序的程序, 稱之為編譯程序
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。
它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
編譯程序的實現演算法較為復雜,這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系,同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。
由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
(1)編譯程序概念主題討論擴展閱讀:
編譯流程分為了四個步驟:
1.預處理,生成預編譯文件(.文件)
2.編譯,生成匯編代碼(.s文件)
3.匯編,生成目標文件(.o文件)
4.鏈接,生成可執行文件
2. 源程序的編譯與解釋的基本概念
源程序的編譯是指對於程序源代碼的編譯過程,由編譯器完成,適用於編譯語言,編譯的過程會生成相應的程序的機器碼。源程序的解釋是指對於程序源代碼的解釋的過程,由解釋器完成,適用於解釋語言。解釋語言和編譯語言的區別在於解釋語言編寫的程序在每次運行時都需要通過解釋器對程序進行動態解釋和執行;解釋語言編寫的程序有時被稱為腳本,一般是讀者可以直接閱讀的代碼。解釋器通過讀取腳本,對它解釋,然後執行腳本中的命令。 例如:我們通常使用的DOS命令行命令執行環境本身就是一個解釋器。讀入鍵入:「dir」命令並回車,解釋器接收並翻譯這條命令,然後進行系統調用來完成命令的運行,並把結果顯示出來。相應的.bat批處理文件可以說就是一種腳本。編譯語言需要通過編譯器,將所編寫的程序翻譯成計算機的機器語言。完成編譯後的程序無需其他程序,自己可獨立運行。因為編譯後的程序是由機器語言指令構成的,所以通常它的運行速度很快。但是使用不同硬體平台的計算機,它們的機器語言也是截然不同的,這同樣使得編譯過的程序不能順利地從一個計算機平台往另外一個平台上移植。所以,在不同的平台之間,往往需要重新編譯甚至重寫程序。解釋性程序沒有這個限制。一般情況下,只要有相應版本的語言解釋器,腳本程序就可以幾乎不做任何修改地移植到其他平台上去。
3. C語言中程序編譯的正確理解及其含義
預處理。首先程序會被送給預處理器了。預處理器執行以#開頭的命令(通常稱為指令)。預處理器有點類似於編輯器,它可以給程序添加內容,也可以對程序進行修改。
編譯。 修改後的程序現在可以進入編譯器了。編譯器會把程序編譯成機器指令(即目標代碼)。然而,這樣的程序是不可運行的。
鏈接。 在最後步驟中,鏈接器把編譯器產生的目標代碼和所需的其他附加代碼整合在一起,這樣才最終產生完全可執行的程序。這些附加代碼包括程序中用到的庫函數(如printf函數)
4. 如何編譯程序是計算機組成討論的問題嗎
編譯程序是實現將源程序翻譯為目標程序的系統軟體,它由若於個程序組成,故又稱為編譯系統。這樣用編譯方法執行源程序大體可以分為兩個階段,即編譯階段和運行階段。
除了編譯程序外,還需要一些其他程序才能生成一個可在計算機上執行的目標程序。
5. 什麼是編譯程序,什麼是解釋程序,二者的異同
翻譯程序是指將用某種語言編寫的程序轉換成另一種語言形式的程序的程序,如編譯程序和匯編程序等。
編譯程序是把用高級語言編寫的源程序轉換(加工)成與之等價的另一種用低級語言編寫的目標程序的翻譯程序。
解釋程序是解釋、執行高級語言源程序的程序。
6. 編譯程序和解釋程序都是什麼意思
1、編譯程序是把用高級程序設計語言或計算機匯編語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序,屬於採用生成性實現途徑實現的翻譯程序。編譯程序以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出;編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
2、解釋程序是高級語言翻譯程序的一種,它將源語言書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。
(6)編譯程序概念主題討論擴展閱讀:
編譯程序的實現演算法較為復雜。這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系;同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。但是,由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。
7. 什麼是 源程序 目標程序 編譯程序 解釋程序
源程序是指程序員編寫的代碼,可以被編譯程序編譯為目標程序。
如果是C++,那麼後綴為.cpp
目標程序是編譯程序將源程序編譯後的結果,如果是C++,那麼後綴是.o
編譯程序一般是編譯器公司(比如微軟
Intel他們都生產編譯器)做的,它將源代碼轉化為機器可識別的文件,經過鏈接,生成可執行程序。
解釋程序即解釋器,它不需要經過編譯階段即可根據用戶源程序執行。
程序語言分編譯類和解釋類語言。
8. 關於編譯和編程