什么是編譯器(編程軟體)?
總的來說,你所謂的編程語言其實就是軟體,叫做編譯器,它讀取文本檔案,做了許多處理,并生成二進制檔案,大白話的講,就是負責“翻譯”或“解釋”代碼的一個軟體!
編譯器可以是任何一個能將一個文本翻譯為另一個文本的程式,比如C語言、C++這樣的程式,當我們一行一行寫下代碼后,需要經過編譯器的“翻譯”才能變成可執行程式才可以執行,才可以實作代碼到程式的轉變,而這一切都需要編譯器幫我們去做,
編譯器做了什么?
簡單來說,編譯器讀取源代碼生成二進制檔案,由于直接將復雜的、人類可讀的代碼轉為一和零是非常復雜的,編譯器在程式可運行前有幾個步驟要做:
讀取你給它的源代碼中的獨立字符,
將字符分類為字,數字,符號和運算子,
獲取已排序完的字符,并通過將它們與模式匹配相匹配和生成操作樹來確定它們嘗試進行的操作,
迭代上一步中生成操作樹中的每一個操作,并生成等效的二進制檔案,
當我說編譯器立刻從一個操作樹轉化到二進制檔案時,它實際生成了匯編代碼,匯編代碼隨后被匯編/編譯成二進制檔案,匯編像是更高級的,人類可讀的二進制檔案,

那么問題來了,我們學編程,比如C語言,又是32個關鍵字、又是各種函式,還有各種語法,學這些不就為了寫代碼讓電腦執行嗎?為什么還要編譯器“翻譯”呢?
答案很簡單,因為:電腦(其實主要就是CPU)只認識0或1這兩個數字,所有寫的一切代碼,都需要編譯器幫我們編譯也就是翻譯成大量的01代碼,才是CPU的“母語”,CPU才會熟練的幫我們飛一般的幫速度執行,

那么你可能又會問,既然CPU只認識0和1,反正也要翻譯一遍,那我們還學什么編程,學什么語法,直接用漢語寫命令寫代碼不行嗎?
答案是:當然可以,比如易語言,或號稱一句話就可以完成一個功能的swift語言等等,
無論哪種語言,想要最終成為可執行的程式,都需要編譯器幫我們去編譯才可以實作! 無非是語言的高級與否,影響編譯器翻譯量多少而已!原始碼要運行,必須先轉成二進制的機器碼,

以C語言為例,常見的編譯器有:
Windows系統下VC/VS系列編譯器為cl.exe
Linux系統下原生自帶的gcc編譯器
Max系統下的LLVM/CLANG編譯器
這些編譯器的使用方式常常在DOS或命令提示符下,通過一步步的命令進行操作,需要經過編譯、鏈接才會生成對應的可執行檔案
什么是IDE(集成開發環境)?
簡單講,就是比編譯器功能更全面更強大界面更友好的軟體
我們實際學習和開發程序中大家聽到或見過的基本都是IDE(集成開發環境),比如VC6.0、VS2012、CodeBlocks等等,他們的核心還是前面提到的編譯器,只不過為了大家方便,全部免去命令形式的操作,取而代之的友好的界面,一鍵編譯等方便的操作,還額外提供包括代碼高亮、代碼除錯、專案管理等高級功能
常見的編譯器有:
TurboC2.0
VC6.0
VS系列(比如VS2012)
CodeBlocks
DevCpp
C-Free
等等
小編推薦一個學C語言/C++的學習裙【 712,284,705】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!點我加入
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184551.html
標籤:其他
