什么是編譯器(編程軟件)?
大白話的講,就是負(fù)責(zé)“翻譯”或“解釋”代碼的一個(gè)軟件!
比如C語(yǔ)言、C++、Java這樣的程序,當(dāng)我們一行一行寫下代碼后,需要經(jīng)過(guò)編譯器的“翻譯”才能變成可執(zhí)行程序才可以執(zhí)行。才可以實(shí)現(xiàn)代碼到程序的轉(zhuǎn)變,而這一切都需要編譯器幫我們?nèi)プ觥?/p>
那么問題來(lái)了,我們學(xué)編程,比如C語(yǔ)言,又是32個(gè)關(guān)鍵字、又是各種函數(shù),還有各種語(yǔ)法,學(xué)這些不就為了寫代碼讓電腦執(zhí)行嗎?為什么還要編譯器“翻譯”呢? 答案很簡(jiǎn)單,因?yàn)椋?span style="color: rgb(255, 0, 0);">電腦(其實(shí)主要就是CPU)只認(rèn)識(shí)0或1這兩個(gè)數(shù)字。所有寫的一切代碼,都需要編譯器幫我們編譯也就是翻譯成大量的01代碼,才是CPU的“母語(yǔ)”,CPU才會(huì)熟練的幫我們飛一般的幫速度執(zhí)行。
那么你可能又會(huì)問,既然CPU只認(rèn)識(shí)0和1,反正也要翻譯一遍,那我們還學(xué)什么編程,學(xué)什么語(yǔ)法,直接用漢語(yǔ)寫命令寫代碼不行嗎?答案是:當(dāng)然可以,比如易語(yǔ)言,或號(hào)稱一句話就可以完成一個(gè)功能的swift語(yǔ)言等等。無(wú)論哪種語(yǔ)言,想要最終成為可執(zhí)行的程序,都需要編譯器幫我們?nèi)ゾ幾g才可以實(shí)現(xiàn)! 無(wú)非是語(yǔ)言的高級(jí)與否,影響編譯器翻譯量多少而已!
以C語(yǔ)言為例,常見的編譯器有:
Windows系統(tǒng)下VC/VS系列編譯器為cl.exe
Linux系統(tǒng)下原生自帶的gcc編譯器
Max系統(tǒng)下的LLVM/CLANG編譯器
這些編譯器的使用方式常常在DOS或命令提示符下,通過(guò)一步步的命令進(jìn)行操作,需要經(jīng)過(guò)編譯、鏈接才會(huì)生成對(duì)應(yīng)的可執(zhí)行文件
什么是IDE(集成開發(fā)環(huán)境)?
簡(jiǎn)單講,就是比編譯器功能更全面更強(qiáng)大界面更友好的軟件
我們實(shí)際學(xué)習(xí)和開發(fā)過(guò)程中大家聽到或見過(guò)的基本都是IDE(集成開發(fā)環(huán)境),比如VC6.0、VS2012、CodeBlocks等等,他們的核心還是前面提到的編譯器,只不過(guò)為了大家方便,全部免去命令形式的操作,取而代之的友好的界面,一鍵編譯等方便的操作,還額外提供包括代碼高亮、代碼調(diào)試、項(xiàng)目管理等高級(jí)功能
常見的編譯器有:
TurboC2.0
VC6.0
VS系列(比如VS2012)
CodeBlocks
DevCpp
C-Free
等等
后面我們的教程也將以這些編譯器為主,為大家詳細(xì)展開介紹
先把這些編譯器的下載地址給大家,見各編譯器(編程軟件)下載集合
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程