計算機語言分為三個層次
高階語言–>組合語言–>機器語言
機器語言由此可見機器語言表達習慣不適用於人類且記憶困難,編寫困難,閱讀困難等一系列問題,於是很快出現了組合語言
組合語言該條語句執行了與上面的機器語言相同的功能
因引入了助記符,組合語言相對於機器語言更加直觀,更容易被人類所理解,但是組合語言依賴於特定的機器,程式設計師需要熟悉目標機器的特性,非計算機專業人員使用受限,編寫效率低,於是就出現了高階語言
高階語言
由高階語言或組合語言編寫的程式,最終都會被翻譯成機器語言後交給目標機器執行編譯器在語言處理系統中的位置組合語言翻譯為機器語言稱為彙編
高階語言翻譯為組合語言或機器語言稱為編譯
前者稱為源語言,後者稱為目標語言
編譯的過程即將源語言翻譯為目標語言
- 源程式
- [ 預處理器 ]
- 經過預處理器的源程式
- [ 編譯器 ]***
- 組合語言程式
- [ 彙編器 ]
- 可重定位的機器**
- [ 聯結器/載入器 ]
- 目標機器**
什麼是編譯?什麼是鏈結?
1.一般來說,無論是c c 首先要把原始檔編譯成中間 檔案,在windows下也就是 obj 檔案,unix下是 o 檔案,即 object file。2.在編譯時編譯器需要的是語法的正確,函式與變數的宣告的正確。只要所有的語法正確,編譯器就可以編譯出中間目標檔案。一般來說,每個原始檔都應該對應於乙...
什麼是交叉編譯?
在一種計算機環境中執行的編譯程式,能編譯出在另外一種環境下執行的 我們就稱這種編譯器 支援交叉編譯。這個編譯過程就叫交叉編譯 簡單地說,就是在乙個平台上生成另乙個平台上的可執行 這裡需要注意的是所謂平台,實際上包含兩個概念 體系結構 architecture 作業系統 operating syste...
什麼是預編譯
預編譯頭的概念 所謂的預編譯頭就是把乙個工程中的那一部分 預先編譯好放在乙個檔案裡 通常是以.pch為副檔名的 這個檔案就稱為預編譯標頭檔案這些預先編譯好的 可以是任何的c c 甚至是inline的函式,但是必須是穩定的,在工程開發的過程中不會被經常改變。如果這些 被修改,則需要重新編譯生成預編譯標...