① 計算機程序中,用高級語言編寫的程序經編譯後產生的程序叫什麼
高級語言編寫的代碼經過編譯後就是可執行程序,高級語言到可執行文件主要有七個個過程。
高級語言編譯的七個過程:
預處理,詞法分析,語法分析,語義分析,中間代碼產生,代碼優化,目標代碼產生。
下面對這幾個過程詳細講解:
1、預處理:
對原文件進行預處理,比如頭文件,導入的模塊,宏定義等進行處理;
2、詞法分析:
詞法分析是第一階段,這個階段的任務是從左到右一個字元一個字元的讀入源程序,對構成源程序的字元流進行掃描和分解,從而識別出一個個單詞。
3、語法分析:
語法分析的任務是在詞法分析的基礎上將單詞程序分解成各位語法短語。
4、語義分析:
語義分析是審查源程序有無語義錯誤,為代碼生成階段收集類型信息。
5、中間代碼生成:
在進行了上述的語法分析階段等工作之後,有的編譯程序將源程序變成一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。中間代碼生成階段要在語法和語義分析的基礎上,將源程序進一步變為一種內部表示形式,它通常易於生成、易於翻譯成目標代碼,不過不是所有的語言都必須經過這一步。
6、代碼優化:
這一階段的任務是對前一階段產生的中間代碼進行變換或進行改造,目的是使生成的目標代碼更為高效。代碼優化階段,對前階段生成的中間代碼進行變換或改造,以便生成目標代碼時更加節省時間和空間,這一工作也不是必須的。
7、目標代碼生成:
這一階段的任務是吧中間代碼變換成特定機器上的絕對指令代碼或可重定位的指令代碼或匯編指令代碼。
② 計算機高級語言的編譯程序屬於什麼類的
計算機高級語言的編譯程序屬於系統軟體類。
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
編譯程序的功能
①語法檢查:檢查源程序是否合乎語法。如果不符合語法,編譯程序要指出語法錯誤的部位、性質和有關信息。編譯程序應使用戶一次上機,能夠盡可能多地查出錯誤。
②調試措施:檢查源程序是否合乎設計者的意圖。為此,要求編譯程序在編譯出的目標程序中安置一些輸出指令,以便在目標程序運行時能輸出程序動態執行情況的信息,如變數值的更改、程序執行時所經歷的線路等。這些信息有助於用戶核實和驗證源程序是否表達了演算法要求。
③修改手段:為用戶提供簡便的修改源程序的手段。編譯程序通常要提供批量修改手段(用於修改數量較大或臨時不易修改的錯誤)和現場修改手段(用於運行時修改數量較少、臨時易改的錯誤)。
④覆蓋處理:主要是為處理程序長、數據量大的大型問題程序而設置的。基本思想是讓一些程序段和數據公用某些存儲區,其中只存放當前要用的程序或數據;其餘暫時不用的程序和數據,先存放在磁碟等輔助存儲器中,待需要時動態地調入。
⑤目標程序優化:提高目標程序的質量,即佔用的存儲空間少,程序的運行時間短。依據優化目標的不同,編譯程序可選擇實現表達式優化、循環優化或程序全局優化。目標程序優化有的在源程序級上進行,有的在目標程序級上進行。
⑥不同語言合用:其功能有助於用戶利用多種程序設計語言編寫應用程序或套用已有的不同語言書寫的程序模塊。最為常見的是高級語言和匯編語言的合用。
③ 用高級語言編寫的程序稱為
高級語言編寫的程抄序稱為源代碼,該程序必須轉換成(機器碼)計算機才能執行。
計算機裡面運行的所有東西都是用程序編出來的(包括操作系統,如Windows,還有Word等。網路游戲也一樣),而編寫程序要用到計算機語言,用計算機語腔缺仔言直伍汪接編出來的程序就叫源碼。
比如用VisualBasic編寫的源碼文件一般為.bas文件,而用C++編寫的一般為.cpp文件,源代碼不能直接運行,必須編譯後才能運行。源碼經過編譯處理後就扮蠢可以直接在操作系統下運行了。
(3)用高級語言編譯程序擴展閱讀:
源代碼作為軟體的特殊部分,可能被包含在一個或多個文件中。一個程序不必用同一種格式的源代碼書寫。例如,一個程序如果有C語言庫的支持,那麼就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。
較為復雜的軟體,一般需要數十種甚至上百種的源代碼的參與。為了降低種復雜度,必須引入一種可以描述各個源代碼之間聯系,並且如何正確編譯的系統。在這樣的背景下,修訂控制系統(RCS)誕生了,並成為研發者對代碼修訂的必備工具之一。
④ 用於高級語言的編譯程序有哪兩種
用於高級語言的編譯程序有兩種:編譯程序和鏈接程序。
以C語言為例,編譯器是cc,可能鏈接程序就是link。
二者作用是不同的,編譯器是把源程序翻譯成符號語言,鏈接程序把來自不同源文件的多個程序整合起來,形成最終的可執行程序。
C++的編譯系統沿用了C語言。其他語種,如PASCAL,DELPHI,C#,OBJECT-C,本質上沒發生變化
高級語言本身分成兩類,編譯型和解釋性的,編譯型的就是上面的類型,解釋型的,如BASIC,JAVA,
PHP,
PYTHON等,是不需要編譯的,可以直接根據源代碼(或中間代碼)直接翻譯到操作系統上。
⑤ 用高級語言編寫的源程序,經編譯後產生的是
目標程序。
目標程序,又稱為「目的程序」,為源程序經編譯可直接被計算機運行的機如岩伏器碼集合,在計算機文件上以.obj作擴展名----由語言處理程序(匯編程序,編譯程序,解釋程序)將源程序處理(匯編,編譯,解釋)成與之等價的由機器碼構成的,計算機能夠直接運行的程序,該程序叫目標程序。
目標代碼盡管已經是機渣攜器指令,但是還不能運行,因為目標程序還沒有解決函數調用問題,需要將各個目標程序與庫函數連接,才能形成完整的可執行程序。
(5)用高級語言編譯程序擴展閱讀
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過"翻譯程序"翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種"翻譯"通常有兩種方式,即編譯方式和解釋方式。
編譯方式是指利用事先編好的一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶將高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器棗扮語言表示的與之等價的目標程序。
然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是指源程序進入計算機後,解釋程序邊掃描邊解釋,逐句輸入逐句翻譯。
計算機一句句執行,並不產生目標程序。如PASCAL、FORTRAN、COBOL等高級語言執行編譯方式;BASIC語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。
⑥ 高級語言編譯程序按分類來看是屬於什麼
高級語言編譯程序按分類來看是屬於系統軟體。根據查詢相關公開信息,系統軟體是指控制和協調計算機及外部設備,支持應用軟體開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能是調度,監控和維護計算機系統。負責管讓孫理計算機系統中各種巧滑亮獨立的硬體,使得它們孝寬可以協調工作。
⑦ 高級語言的編譯過程,經過哪幾個步驟
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
(7)用高級語言編譯程序擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,對源代碼文件進行測試。以及相關的頭文件,比如Stdio。H.CPP預處理為。我的文件。預編譯。該文件不包含任何宏定義,因為所有宏都已展開,且包含的文件已插入。我提起。
2、編譯過程是對預處理後的文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程通常是整個程序的核心部分,也是最復雜的過程之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可運行的可執行程序。也就是說,您需要鏈接到大量文件以獲得最終可執行文件「a.out」。
4、在鏈接過程中,其他目標文件中定義的函數調用指令需要重新調整,而其他目標文件中定義的變數也存在同樣的問題。
⑧ 用高級語言編寫的程序需要用什麼程序翻譯後計算機才能識別
用高級語言編寫的程序需要用編譯程序翻譯後御空梁計算機才能識別。編譯程序的最鎮運終目標是將虧飢源程序編譯成目標程序。編譯程序是把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。
⑨ 用戶用計算機高級語言編寫的程序,通常稱為
源程序(也稱源代碼)是指按照一定的編程語言規范編寫的未編譯的文本文件,是一系列人類可讀的計算機語言指令。 在現代編程語言中,源代碼可以以書籍或磁帶的形式出現,但最常用的格式是文本文件,通常用於編譯計算機程序。計算機源代碼的最終目標是將人類可讀的文本翻譯成計算機可以執行的二進制指令。這個過程叫做編譯,由編譯器完成。源程序是用匯編語言和高級語言寫的代碼。主要目標是開兄碼發者;我們平時用的應核老用都是經過源代碼編譯打包後發布的,最後的結果是給用戶和終端客戶看的。源程序(也稱源代碼)是指按照一定的編程語言規范編寫的未編譯的文本文件,是一系列人類可讀的計算機語言指令。在現代編程語言中,源代碼可以以書籍或磁帶的形式出現,但最常用的格式是文本文件,通常用於編譯計算機程序。計算機源代碼的最終目標是將人類可讀的文本翻譯成計算機可以執行的二進制指令。這個過程叫做編譯,由編譯器完成。源程序是用匯編語言和高級語言寫的代碼。主要目標是開發者;我們平時用的應用都是經過源代碼編譯打改塵升包後發布的,最後的結果是給用戶和終端客戶看的。
⑩ 用高級語言編寫的源程序必須經過__ ___轉化為等價的二進制代碼程序,才能夠在計算機中運行。
編譯和鏈接。
編譯:
1、利用編譯程序從源語言編寫的源程序產生目標程序的過程。櫻耐
2、用編譯程序產生目標程序的動作。 編譯就是把高級語言變成計算機可以識別的2進制語言,計算機只認識1和0,編譯枝鋒程序把人們熟悉的語言換成2進制的。
編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間代碼生成;代碼優化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發現有語法錯誤,給出提示信息。
(10)用高級語言編譯程序擴展閱讀
源程序中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表猛頌晌它自身的值了。若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。