1樓:安徽新華電腦專修學院
編好的**(源**)經過編譯,連結,生成可執行的檔案,然後就可以執行。即編輯的**要最重生成可執行的程式(可執行的檔案),需要經過編譯、連結兩個步驟。編譯的作用是對**進行語法檢查,而連結的作用是連結**中用到的編譯器提供的資源。
所以,通常通過編譯、連結後形成的只形成一個可執行的檔案。
2樓:匿名使用者
a彙編和解釋 b 編輯和連線c 編譯和連線裝配d 解釋和編譯 (選一個答案)
把源程式轉換為目標程式的過程叫什麼?
3樓:匿名使用者
一、把源程式轉換為目標程式的過程叫編譯。
二、什麼是編譯(compilation,compile)1、利用編譯程式從源語言編寫的源程式產生目標程式的過程。
2、用編譯程式產生目標程式的動作。編譯就是把高階語言變成計算機可以識別的2進位制語言,計算機只認識1和0,編譯程式把人們熟悉的語言換成2進位制的。
3、編譯程式把一個源程式翻譯成目標程式的工作過程分為五個階段:詞法分析;語法分析;語義檢查和中間**生成;**優化;目標**生成。主要是進行詞法分析和語法分析,又稱為源程式分析,分析過程中發現有語法錯誤,給出提示資訊。
把高階語言編寫源程式變成目標程式,需要經過什麼?
4樓:匿名使用者
高階語言編譯成機器碼的過程如下:
1.詞法分析
詞法分析的任務是對由字元組成的單詞進行處理,從左至右逐個字元地對源程式進行掃描,產生一個個的單詞符號,把作為字串的源程式改造成為單詞符號串的中間程式。執行詞法分析的程式稱為詞法分析程式或掃描器。
源程式中的單詞符號經掃描器分析,一般產生二元式:單詞種別;單詞自身的值。單詞種別通常用整數編碼,如果一個種別只含一個單詞符號,那麼對這個單詞符號,種別編碼就完全代表它自身的值了。
若一個種別含有許多個單詞符號,那麼,對於它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。
詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態圖進行工作,自動生成使用確定的有限自動機來實現。
2語法分析
編譯程式的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規則的語法單位,如表示式、賦值、迴圈等,最後看是否構成一個符合要求的程式,按該語言使用的語法規則分析檢查每條語句是否有正確的邏輯結構,程式是最終的一個語法單位。編譯程式的語法規則可用上下文無關文法來刻畫。
語法分析的方法分為兩種:自上而下分析法和自下而上分析法。自上而下就是從文法的開始符號出發,向下推導,推出句子。
而自下而上分析法採用的是移進歸約法,基本思想是:用一個寄存符號的先進後出棧,把輸入符號一個一個地移進棧裡,當棧頂形成某個產生式的一個候選式時,即把棧頂的這一部分歸約成該產生式的左鄰符號。
3中間**
中間**是源程式的一種內部表示,或稱中間語言。中間**的作用是可使編譯程式的結構在邏輯上更為簡單明確,特別是可使目標**的優化比較容易實現中間**,即為中間語言程式,中間語言的複雜性介於源程式語言和機器語言之間。中間語言有多種形式,常見的有逆波蘭記號、四元式、三元式和樹。
4**優化
**優化是指對程式進行多種等價變換,使得從變換後的程式出發,能生成更有效的目標**。所謂等價,是指不改變程式的執行結果。所謂有效,主要指目標**執行時間較短,以及佔用的儲存空間較小。
這種變換稱為優化。
有兩類優化:一類是對語法分析後的中間**進行優化,它不依賴於具體的計算機;另一類是在生成目標**時進行的,它在很大程度上依賴於具體的計算機。對於前一類優化,根據它所涉及的程式範圍可分為區域性優化、迴圈優化和全域性優化三個不同的級別。
5目標**
目標**生成是編譯的最後一個階段。目標**生成器把語法分析後或優化後的中間**變換成目標**。目標**有三種形式:
① 可以立即執行的機器語言**,所有地址都重定位;
② 待裝配的機器語言模組,當需要執行時,由連線裝入程式把它們和某些執行程式連線起來,轉換成能執行的機器語言**;
③ 組合語言**,須經過彙編程式彙編後,成為可執行的機器語言**。
目標**生成階段應考慮直接影響到目標**速度的三個問題:一是如何生成較短的目標**;二是如何充分利用計算機中的暫存器,減少目標**訪問儲存單元的次數;三是如何充分利用計算機指令系統的特點,以提高目標**的質量。
6**管理
編譯過程中源程式的各種資訊被保留在種種不同的**,編譯各階段的工作都涉及到構造、查詢、或更新有關的**。
編譯程式的公共輔助部分。對源程式中的各種量進行管理,登記在相應的**。編譯程式處理時通過查表得到所需的資訊。
7出錯處理
如果編譯過程中發現源程式有錯誤,編譯程式應報告錯誤的性質和錯誤的發生的地點,並且將錯誤所造成的影響限制在儘可能小的範圍內,使得源程式的其餘部分能繼續被編譯下去,有些編譯程式還能自動糾正錯誤,這些工作由錯誤處理程式完成。
需要注意的是,一般上編譯器只做語法檢查和最簡單的語義檢查,而不檢查程式的邏輯。
能將高階語言編寫的源程式轉換為目標程式的是什麼?
5樓:裝著數的瓶
把源程式轉換為目標程式的過程叫編譯
所以能將高階語言編寫的源程式轉換為目標程式的是相應的高階語言編譯程式故答案為c—編譯程式
拓展資料:編譯程式也稱為編譯器,是指把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。編譯程式屬於採用生成性實現途徑實現的翻譯程式。
它以高階程式設計語言書寫的源程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。編譯出的目標程式通常還要經歷執行階段,以便在執行程式的支援下執行,加工初始資料,算出所需的計算結果。
6樓:來自大雲山漂亮的黑鳶
編譯程式 和 解釋程式 雖然做事方式上有很大差別,但是做的事都是將源程式轉換成目標程式,只不過編譯是編譯一次,只要源程式無變化,就無須再次編譯,編譯得到內容永遠留下來了。解釋雖然內容不會留下來,但是每次執行都進行翻譯,所以根據你的題意,轉換為目標程式的 兩者都是。
7樓:匿名使用者
答案是 c)編譯程式
編譯程式,也叫編譯器,是高階語言將源程式**編譯為目標程式(obj)的工具。
8樓:匿名使用者
編譯工具(程式)
如:keil4
所以選擇 c.
高階語言編寫的程式轉換為計算機能直接執行的目標程式,必須經過?a編輯b編譯c彙編
9樓:蜜瓜甜不舔
b是正確的
d是不對的,解釋性的中間檔案並不是計算機能直接執行的,而是直譯器能直接執行的
10樓:匿名使用者
高階語言編寫的程式轉換為計算機能直接執行的目標程式,編譯後產生執行程式。
11樓:匿名使用者
b例如使用文字編輯工具編寫c++程式,其檔案字尾為.cpp,這種形式的程式稱為源**(source code),然後用編譯器將源**轉換成二進位制形式,檔案字尾為.obj,這種形式的程式稱為目標**(objective code),最後,將若干目標**和現有的二進位制**庫經過聯結器連線,產生可執行**(executable code),檔案字尾為.
exe,只有.exe檔案才能執行。
12樓:
b編譯編譯方式是指利用事先編好的一個稱為編譯程式的機器語言程式,作為系統軟體存放在計算機內,當使用者將高階語言編寫的源程式輸入計算機後,編譯程式便把源程式整個地翻譯成用機器語言表示的與之等價的目標程式,然後計算機再執行該目標程式,以完成源程式要處理的運算並取得結果。解釋方式是指源程式進入計算機後,解釋程式邊掃描邊解釋,逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程式。
能將高階語言編寫的源程式轉換為目標程式的是
13樓:匿名使用者
是編譯程式。
編譯程式是指把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標程式的翻譯程式。編譯程式屬於採用生成性實現途徑實現的翻譯程式。
它以高階程式設計語言書寫的源程式作為輸入,而以組合語言或機器語言表示的目標程式作為輸出。
編譯出的目標程式通常還要經歷執行階段,以便在執行程式的支援下執行,加工初始資料,算出所需的計算結果。
14樓:莫清婉業瓔
把源程式轉換為目標程式的過程叫編譯
所以能將高階語言編寫的源程式轉換為目標程式的是相應的高階語言編譯程式
故答案為c—編譯程式
15樓:帝俊御龍
應該是編譯程式;解釋程式需要一條一條地執行,而編譯程式可以直接生成目標程式。
16樓:匿名使用者
由高階語言編寫的程式稱為「源程式」,由二進位制**表示的程式稱為「目標程式」,而把源程式 轉換成機器能夠識別的目標程式是由「編譯程式」完成的。
將c語言編寫的源程式轉換成可執行程式要用什麼程式處理
17樓:昔楚鞠鳥
高階語言
先轉化為目標程式,但是目標程式往往是不能執行的,還需要經過連線環節,才能生成一個完整的可執行檔案,這個完整的可執行程式才可以被執行。所以是
b連線程式
把用高階語言編寫的源程式轉換為可執行程式,要經過的過程叫做____
18樓:匿名使用者
c,編譯和連結 compile 跟link
把用高階語言定的程式轉換為可執行程式,要經過的過程叫做?
19樓:匿名使用者
先用高階語言編寫程式(如c、c++),然後編譯成obj二進位制**,然後連結成.exe讓系統執行。
所以選c
高階語言編寫的程式轉換為計算機能直接執行的目標程式,必須經過?A編輯B編譯C
蜜瓜甜不舔 b是正確的 d是不對的,解釋性的中間檔案並不是計算機能直接執行的,而是直譯器能直接執行的 高階語言編寫的程式轉換為計算機能直接執行的目標程式,編譯後產生執行程式。 b例如使用文字編輯工具編寫c 程式,其檔案字尾為.cpp,這種形式的程式稱為源 source code 然後用編譯器將源 轉...
plc執行行程式的過程的哪個階段程式執行的結果儲存
育知同創教育 當進人程式執行階段後,若輸人瑞又發生變化,則輸人映像區相應單元儲存的資訊,因被輸人 2 程式執行階段在程式執行階段,plc 的 cpu 從使用者程式的第 0 步開始,以接點資料為條件,根據使用者程式進行邏輯運算,並把運算結果存人輸出映像區單元中。 總有一個丫知道 對於使用者來說,在編寫...
用高階程式設計語言編寫的程式
用高階程式設計語言編寫的程式可讀性好,但不能被機器直接執行。高階程式語言的可閱讀性更強,能夠方便的表達程式的功能,但高階程式語言因為是一種編譯語言,所以它的執行速度比彙編程式要低,同時因為高階語言比較冗長,所以 的執行速度也要慢一些。另外,高階程式語言的架構高於彙編,不能編寫直接訪問硬體資源的系統程...