當前位置:首頁 » 編程軟體 » 編譯程序是將高級語言源程序匯編

編譯程序是將高級語言源程序匯編

發布時間: 2022-07-19 13:00:44

A. 什麼是編譯程序和匯編程

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

  2. 匯編程序是指把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序,是為特定計算機或計算機系列設計的一種面向機器的語言,由匯編執行指令和匯編偽指令組成。匯編程序輸入的是用匯編語言書寫的源程序,輸出的是用機器語言表示的目標程序。採用匯編語言編寫程序雖不如高級程序設計語言簡便、直觀,但是匯編出的目標程序佔用內存較少、運行效率較高,且能直接引用計算機的各種設備資源。它通常用於編寫系統的核心部分程序,或編寫需要耗費大量運行時間和實時性要求較高的程序段。匯編程序主要有簡單匯編程序、模塊匯編程序、條件匯編程序、宏匯編程序、高級匯編程序幾種。

B. 編譯程序將高級語言程序翻譯成與之等價的機器語言程序,該機器語言程序稱為

選C。高級語言源程序翻譯成等價的機器語言程序(稱為目標程序)

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

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

(2)編譯程序是將高級語言源程序匯編擴展閱讀:

為了將人類語言翻譯成機器變成機器能夠理解的語言,還需要進行翻譯。就好像你不懂英語,英語可以翻譯成漢語,這樣你就能明白其中的含義。對於計算機來說,這個過程是一樣的。不過計算機對於翻譯有更高的要求。

人類之間互相翻譯語言,有一些微小的出入並不影響理解,計算機為了能夠准確的得到結果,要求這個翻譯的過程,必須保證「將一種語言翻譯成涵義相同的等價的另一種語言」。

在早期,程序的規模還比較小,翻譯的過程可以人工的進行。利用查表的方式,最終是可以得到等價的機器碼序列。隨著計算機科學的發展,程序規模膨脹的越來越快,人工翻譯變的沒有可行性。此時就有人提出,編寫一套軟體來進行這個翻譯的過程。

一開始人們只用匯編語言進行程序開發。所以只需要將匯編語言翻譯為機器語言就可以了。這是相當直截了當的過程,因為匯編語言的助記符和機器指令是一一對應的關系。

所以只需要完成一個能夠自動查表並轉換的程序即可。很快,這樣的程序就被發明了出來。我們稱之為「匯編器」。

C. 任何高級語言都是編譯成匯編代碼然後運行的嗎

編譯器,是將便於人編寫,閱讀,維護的高級計算機語言翻譯為計算機能識別,運行的低級機器語言的程序。編譯器將源程序(Source program)作為輸入,翻譯產生使用目標語言(Target language)的等價程序。源程序一般為高級語言(High-level language),如Pascal,C++等,而目標語言則是匯編語言或目標機器的目標代碼(Object code),有時也稱作機器代碼(Machine code)。一個現代編譯器的主要工作流程如下:
源程序(source code)→預處理器(preprocessor)→編譯器(compiler)→匯編程序(assembler)→目標程序(object code)→連接器(鏈接器,Linker)→可執行程序(executables])工作原理
翻譯是從源代碼(通常為高級語言)到能直接被計算機或虛擬機執行的目標代碼(通常為低級語言或機器言)。然而,也存在從低級語言到高級語言的編譯器,這類編譯器中用來從由高級語言生成的低級語言代碼重新生成高級語言代碼的又被叫做反編譯器。也有從一種高級語言生成另一種高級語言的編譯器,或者生成一種需要進一步處理的的中間代碼的編譯器(又叫級聯)。典型的編譯器輸出是由包含入口點的名字和地址以及外部調用(到不在這個目標文件中的函數調用)的機器代碼所組成的目標文件。一組目標文件,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以鏈接在一起並生成可以由用戶直接執行的可執行程序。
肯定是要先編譯成機器碼,計算機才能識別。

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

是。

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

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

(4)編譯程序是將高級語言源程序匯編擴展閱讀:

注意事項:

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

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

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

E. 編譯器是將高級語言編譯成匯編語言嗎

一般的
編譯器
,是先將
高級語言
轉換成匯編語言(
中間代碼
),然後在匯編的基礎上優化生成OBJ
目標代碼
,最後Link成可執行文件

F. 編譯程序是把高級語言編譯成匯編語言程序還是機器語言程序為什麼王道上有兩個說法啊,我糾結了!!

編程語言分為高級編程語言和低級編程語言。
匯編屬於低級語言,語法更接近程序實際的運行順序。
C/C++屬於高級語言,語法更接近自然語言。

無論C/C++還是匯編語言,都是將代碼編譯成可被機器識別的機器語言。

G. 編譯程序將高級語言程序翻譯成與之等價的機器語言程序,該機器語言程序稱之為_

目標程序。

編譯過程的第一階段主要任務是對源程序從前往後(從左往右)逐個字元掃描,從中識別出一個個單詞符號,單詞是程序設計語言的基本語法單位,如關鍵字、標識符等。

中間代碼生成階段的主要任務是工作是根據語義分析的輸出生成中間代碼。最常用的中間代碼是與匯編語法的指令非常相似的三地址碼,常採用四元式。

(7)編譯程序是將高級語言源程序匯編擴展閱讀:

注意事項:

弄清楚整體流程,掌握全局才能形成清晰的思路,就如同寫作文要先寫提綱一樣。

做介面時,要考慮使用者的感受是否易用,並且盡可能少的向使用者暴露內部的實現過程,簡化使用過程。

正常分支總是少數,大部分情況下都是異常分支,可以用2-8定律來形容,因此對異常處理很重要。

發現問題不可怕,每一個問題都有其根本的原因,且一定要有追根究底的精神,如果最可能出問題的情況都已經排除,則應當換個角度從一些不起眼的地方重新查起。

H. 什麼是匯編程序,編譯程序,解釋程序它們的功能是什麼

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

I. 編譯程序的作用是

編譯程序指將某一種程序設計語言寫的程序翻譯成等價的另一種語言的程序的程序, 稱之為編譯程序

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

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

編譯程序的實現演算法較為復雜,這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系,同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。

由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

(9)編譯程序是將高級語言源程序匯編擴展閱讀:

編譯流程分為了四個步驟:

1.預處理,生成預編譯文件(.文件)

2.編譯,生成匯編代碼(.s文件)

3.匯編,生成目標文件(.o文件)

4.鏈接,生成可執行文件

J. 編譯程序,匯編程序屬於什麼軟體

編譯程序、匯編程序屬於系統軟體。

系統軟體:
是能提高程序設計者的工作效率、方便用戶使用、可以對計算機進行管理的軟體。

包括:操作系統、監控軟體、編譯程序、匯編程序、資料庫、標准程序庫。

熱點內容
光遇切換賬號安卓要輸入些什麼 發布:2025-02-07 07:10:20 瀏覽:501
多角線演算法 發布:2025-02-07 07:08:56 瀏覽:273
有效提高ftp傳輸速度 發布:2025-02-07 07:06:47 瀏覽:703
寒靈之劍腳本 發布:2025-02-07 06:57:12 瀏覽:119
解壓的窗口 發布:2025-02-07 06:44:34 瀏覽:798
android身份證 發布:2025-02-07 06:36:43 瀏覽:431
python的庫在哪 發布:2025-02-07 06:30:24 瀏覽:349
帶鎖的鉛筆如何改密碼 發布:2025-02-07 06:18:05 瀏覽:165
ubuntu搭建samba伺服器 發布:2025-02-07 05:52:54 瀏覽:55
小型企業網如何配置可以互通 發布:2025-02-07 05:33:56 瀏覽:243