編譯原理 1 1 什麼是編譯?

2021-10-10 14:24:38 字數 836 閱讀 7512

計算機語言分為三個層次

高階語言–>組合語言–>機器語言

機器語言

由此可見機器語言表達習慣不適用於人類且記憶困難,編寫困難,閱讀困難等一系列問題,於是很快出現了組合語言

組合語言

該條語句執行了與上面的機器語言相同的功能

因引入了助記符,組合語言相對於機器語言更加直觀,更容易被人類所理解,但是組合語言依賴於特定的機器,程式設計師需要熟悉目標機器的特性,非計算機專業人員使用受限,編寫效率低,於是就出現了高階語言

高階語言

由高階語言或組合語言編寫的程式,最終都會被翻譯成機器語言後交給目標機器執行

組合語言翻譯為機器語言稱為彙編

高階語言翻譯為組合語言或機器語言稱為編譯

前者稱為源語言,後者稱為目標語言

編譯的過程即將源語言翻譯為目標語言

編譯器在語言處理系統中的位置

- 源程式

- [ 預處理器 ]

- 經過預處理器的源程式

- [ 編譯器 ]***

- 組合語言程式

- [ 彙編器 ]

- 可重定位的機器**

- [ 聯結器/載入器 ]

- 目標機器**

什麼是編譯?什麼是鏈結?

1.一般來說,無論是c c 首先要把原始檔編譯成中間 檔案,在windows下也就是 obj 檔案,unix下是 o 檔案,即 object file。2.在編譯時編譯器需要的是語法的正確,函式與變數的宣告的正確。只要所有的語法正確,編譯器就可以編譯出中間目標檔案。一般來說,每個原始檔都應該對應於乙...

什麼是交叉編譯?

在一種計算機環境中執行的編譯程式,能編譯出在另外一種環境下執行的 我們就稱這種編譯器 支援交叉編譯。這個編譯過程就叫交叉編譯 簡單地說,就是在乙個平台上生成另乙個平台上的可執行 這裡需要注意的是所謂平台,實際上包含兩個概念 體系結構 architecture 作業系統 operating syste...

什麼是預編譯

預編譯頭的概念 所謂的預編譯頭就是把乙個工程中的那一部分 預先編譯好放在乙個檔案裡 通常是以.pch為副檔名的 這個檔案就稱為預編譯標頭檔案這些預先編譯好的 可以是任何的c c 甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會被經常改變。如果這些 被修改,則需要重新編譯生成預編譯標...