導航:首頁 > 源碼編譯 > 將高級語言編譯成目標語言

將高級語言編譯成目標語言

發布時間:2022-05-05 05:08:00

『壹』 將用高級語言編寫的源程序轉換成等價的目標程序的過程,稱為

(總體上說)稱為編譯

高級語言如果指的是C的話:

C語言詳細編譯過程分成四個步驟:

1. 預處理(preprocessor):將存儲在不同文件的源程序(.c文件)聚合在一起,將語言中的宏進行替換,比如預處理指令#include,讓編譯器打開包含的文件,將其程序與其他程序呆在一起.生成.i文件。

2.編譯:預處理源程序(.i文件)變為匯編程序(.s文件)

3.匯編(assember):將匯編程序轉換為可重定位(relocatable: 就是說文件裡面的代碼段和數據的地址還沒有最終確定)的機器代碼,這一步產生目標文件(.obj或.o文件)。

4.鏈接(linker)/載入(loader): 鏈接就是把目標文件和其他分別進行編譯生成的程序模塊(如果有的話)及系統提供的標准庫函數連接在一起,生成可運行的可執行文件的過程,載入時將各代碼與數據定位到內存合適的位置,這一步產生最終的可執行文件。

『貳』 將高級語言源程序翻譯成目標程序,完成這種翻譯的 過程的程序是

將高級語言源程序翻譯成目標程序,完成這種翻譯的 過程的程序是編譯程序。

『叄』 能將高級語言編寫的源程序轉換為目標程序的是

是編譯程序。

編譯程序是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。

編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

(3)將高級語言編譯成目標語言擴展閱讀:

特點:

編譯程序必須分析源程序,然後綜合成目標程序。首先,檢查源程序的正確性,並把它分解成若干基本成分;其次,再根據這些基本成分建立相應等價的目標程序部分。

為了完成這些工作,編譯程序要在分析階段建立一些表格,改造源程序為中間語言形式,以便在分析和綜合時易於引用和加工。

數據結構分析和綜合時所用的主要數據結構,包括符號表、常數表和中間語言程序。符號表由源程序中所用的標識符連同它們的屬性組成,其中屬性包括種類(如變數、數組、結構、函數、過程等)、類型(如整型、實型、字元串、復型、標號等),以及目標程序所需的其他信息。

『肆』 編譯器將高級語言程序轉變為目標代碼 這句話是否正確

對的,高級語言程序如c/c++,目標代碼是指對應機型的代碼,如X86,MIPS,ARM,PowerPC
普通的編譯器就是完成這個工作.如gcc,clang
至於java,python這類實際帶有虛擬機的語言會有所不同,會生成比目標代碼再高一層的位元組碼,最終由虛擬機運行(實際運行時也是目標代碼)(不考慮jit),不過這里不考慮

『伍』 能將高級語言編寫的源程序轉換為目標程序的是什麼

把源程序轉換為目標程序的過程叫編譯
所以能將高級語言編寫的源程序轉換為目標程序的是相應的高級語言編譯程序
故答案為C—編譯程序
拓展資料:
編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
參考資料:
編譯程序_網路

『陸』 高級語言源程序必須翻譯成目標程序後才能執行,完成這種翻譯過程的程序是編譯程序。

是。

編譯就是要把高級語言的源程序翻譯成目標程序的過程,一般整個過程可劃分為詞法分析、語法分析、語義分析、中間代碼生成、代碼優化和目標代碼生成6個階段。

編譯程序(編譯器)則是將源程序翻譯成目標語言程序,然後在計算機上運行目標程序,兩種語言處理程序的根本區別是在編譯方式下,機器上運行的是與源程序等價的目標程序,源程序和編譯程序都不再參與目標程序的執行過程,而在解釋方式下,解釋程序和源程序要參與到程序的運行過程中,運行程序的控制權在解釋程序。

(6)將高級語言編譯成目標語言擴展閱讀:

注意事項:

高級語言完全脫離機器指令,用人們更加易於理解的方式編寫程序,更接近於科學計算的公式及問題。

機器語言和匯編語言是一種面向機器的語言,而高級語言是面向科學計算和實際問題的語言。

當然高級語言編寫的程序不能直接由計算機來執行,必須由翻譯程序把它翻譯為機器語言的程序,計算機才能執行。

『柒』 把計算機高級語言翻譯成目標語言有那兩種方式

編譯方式和解釋方式。編譯方式是將高級語言全部翻譯成機器指令之後,再將機器指令交予計算機執行;解釋方式是將高級語言逐句翻譯,翻譯一句,執行一句,不產生整個目標程序。

『捌』 高級語言的編譯過程,經過哪幾個步驟

開發C程序有四個步驟:編輯、編譯、連接和運行。

任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。

1、預處理:導入源程序並保存(C文件)。

2、編譯:將源程序轉換為目標文件(Obj文件)。

3、鏈接:將目標文件生成為可執行文件(EXE文件)。

4、運行:執行,獲取運行結果的EXE文件。

(8)將高級語言編譯成目標語言擴展閱讀:

將C語言代碼分為程序的幾個階段:

1、首先,對源代碼文件進行測試。以及相關的頭文件,比如Stdio。H.CPP預處理為。我的文件。預編譯。該文件不包含任何宏定義,因為所有宏都已展開,且包含的文件已插入。我提起。

2、編譯過程是對預處理後的文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程通常是整個程序的核心部分,也是最復雜的過程之一。

3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可運行的可執行程序。也就是說,您需要鏈接到大量文件以獲得最終可執行文件「a.out」。

4、在鏈接過程中,其他目標文件中定義的函數調用指令需要重新調整,而其他目標文件中定義的變數也存在同樣的問題。

『玖』 能將高級語言源程序轉換成目標程序的是( )。

熱心網友
B)解釋程序 C)編譯程序
這兩個都是正確的,以下出自 唐朔飛 老師的書,計算機組成原理第2版 的內容,
第4頁上方:
通常由用戶用高級語言編寫程序(稱為源程序),然後將它和數據一起送入計算機內,再由計算機將其翻譯成機器能識別的機器語言程序(稱為目標程序),機器自動運行該機器語言程序,並....
第4頁中部:
機器語言(用0、1代碼表示的語言),用戶必須用二進制代碼(0、1)來編寫程序(即機器語言程序)
第5頁的下面:
通常,將高級語言程序翻譯成機器語言程序的軟體稱為翻譯程序。翻譯程序有兩種:一種是編譯程序,另一種是解釋程序。
編譯程序是將用戶編寫的高級語言程序(源程序)的全部語句一次全部翻譯成機器語言程序,而後再執行機器語言程序。因此只要源程序不變,就無須再次進行翻譯。
解釋程序是將源程序的一條語句翻譯成對應於機器語言的一條語句,並且立即執行這條語句,接著翻譯源程序的下一條語句,並執行這條語句,如此重復直至完成源程序的全部翻譯任務。它的特點是翻譯一次執行一次,即使下一次重復執行該語句時,也必須重新翻譯。

你的問題是,能將高級語言編寫的源程序轉換為目標程序的是什麼?
我自己的總結:
編譯程序 和 解釋程序 雖然做事方式上有很大差別,但是做的事都是將源程序轉換成目標程序,只不過編譯是編譯一次,只要源程序無變化,就無須再次編譯,編譯得到內容永遠留下來了。解釋雖然內容不會留下來,但是每次執行都進行翻譯,所以根據你的題意,轉換為目標程序的 兩者都是。

至於 編輯程序,那太多了,什麼 視頻編輯程序、圖片編輯程序、音樂編輯程序、記事本也算,文本編輯器什麼的,總之就是做東西的,這個編輯程序不算什麼名詞,也沒有什麼概念,意義也不嚴格。
還有 鏈接程序,我不知道這個是什麼,這個不出名,可能是因為我不會C,和C有關么?我想這個也沒什麼意義吧。

閱讀全文

與將高級語言編譯成目標語言相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:578
python員工信息登記表 瀏覽:376
高中美術pdf 瀏覽:160
java實現排列 瀏覽:512
javavector的用法 瀏覽:981
osi實現加密的三層 瀏覽:231
大眾寶來原廠中控如何安裝app 瀏覽:915
linux內核根文件系統 瀏覽:242
3d的命令面板不見了 瀏覽:525
武漢理工大學伺服器ip地址 瀏覽:148
亞馬遜雲伺服器登錄 瀏覽:524
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:929
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:250
哈夫曼編碼數據壓縮 瀏覽:425
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:349