編譯器簡介
編譯器是將“一種語言(高級語言)”翻譯為“另一種語言(低級語言)”的程序。
編譯器能夠識別代碼中的詞彙、句子以及各種特定的格式,並將他們轉換成計算機能夠識別的二進制形式,這個過程稱為編譯。
一個編譯器的主要工作流程:
- 源代碼 (Source Code)
- 預處理器 (Pre-Processor)
- 編譯器 (Compiler)
- 目標代碼 (Object Code)
- 鏈接器 (Linker)
- 可執行程序 (Executables)
源代碼通常是高級語言編寫的,如C、C++、Java等,高級語言便於程序員編寫、閱讀、交流、維護,相對而言,機器語言則是計算機能直接解讀、運行的。可執行程序的內部是一系列計算機指令和數據的集合,它們都是二進制形式的,CPU 可以直接識別,但是對於程序員,它們非常晦澀,難以記憶和使用。
以C語言為例,在不同的平臺下有不同的編譯器:
- Windows 常見的微軟編譯器cl.exe,被集成在 Visual Studio 中,一般不單獨使用;
- Linux 下常用的是 GUN 組織開發的 GCC;
- Mac 下常用的是 LLVM/Clang,被集成在 Xcode 中。
一個C程序編譯的過程:GCC編譯C語言程序的全過程
在計算機發展的初期,程序員就是使用二進制指令來編寫程序的。但直接使用二進制指令編程對程序員來說簡直是噩夢,尤其是當程序比較大的時候,不但編寫麻煩,需要頻繁查詢指令手冊,還非常容易出錯。另外,用二進制指令編程步驟繁瑣,要考慮各種邊界情況和底層問題,開發效率十分低下。
相關推薦
'華為“方舟編譯器”源代碼上線;特斯拉免徵車輛購置稅|上週回顧'
"摘要:華為開源“方舟編譯器”源代碼上線、特斯拉免徵車輛購置稅,最高省9.9萬元、東芝收購光寶固態存儲業務,交易價為1.65億美元、鯤鵬生態落地重慶,華為助力重慶產業升級、國內首條14nm FinFET產線即將亮相……華為開源“方舟編譯器”源代碼,已有45款第三方應用支持8...
'華為“方舟編譯器”源代碼上線;特斯拉免徵車輛購置稅丨上週要問'
"摘要:華為開源“方舟編譯器”源代碼上線、特斯拉免徵車輛購置稅,最高省9.9萬元、東芝收購光寶固態存儲業務,交易價為1.65億美元、鯤鵬生態落地重慶,華為助力重慶產業升級、國內首條14nm FinFET產線即將亮相……華為開源“方舟編譯器”源代碼,已有45款第三方應用支持8...
'學賞畫(14):德國最優秀的畫家丟勒Albrecht Dürer簡介及作品'
"丟勒作品賞析,小編把其著名作品穿插在文章中,便於閱讀。(黑字為作品圖片添加賞析的文字部分)丟勒26歲時的自畫像(戴手套的自畫像)解析:作為自畫像之父,他是歐洲第一位為自己的容貌和身份所吸引的畫家。此畫又名《戴手套的自畫像》,這是丟勒26歲時畫的著名的自畫像。畫面上,丟勒一...
推薦中...