日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

一篇文章带初学者明白:什么是编译器,什么是集成开发环境(IDE)?

發(fā)布時(shí)間:2025/3/15 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一篇文章带初学者明白:什么是编译器,什么是集成开发环境(IDE)? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

各位,關(guān)于編譯器和集成開發(fā)環(huán)境這兩個(gè)名稱,我們平時(shí)一直在說,但這二位究竟有什么區(qū)別和聯(lián)系呢,今天就跟大家簡(jiǎn)單聊一聊。

我們平時(shí)所說的程序,是指雙擊后就可以直接運(yùn)行的程序,這樣的程序被稱為可執(zhí)行程序(Executable Program)。

在 Windows 下,可執(zhí)行程序的后綴有 .exe 和 .com(其中 .exe 比較常見);在類 UNIX 系統(tǒng)(Linux、Mac OS 等)下,可執(zhí)行程序沒有特定的后綴,系統(tǒng)根據(jù)文件的頭部信息來判斷是否是可執(zhí)行程序。

可執(zhí)行程序的內(nèi)部是一系列計(jì)算機(jī)指令和數(shù)據(jù)的集合,它們都是二進(jìn)制形式的,CPU 可以直接識(shí)別,毫無障礙;但是對(duì)于程序員,它們非常晦澀,難以記憶和使用。

例如,在屏幕上輸出“VIP會(huì)員”,C語言的寫法為:

puts("VIP會(huì)員");

二進(jìn)制的寫法為:

? ? ? ? ? ? ? ? ? ?

你感受一下,直接使用二進(jìn)制是不是想撞墻,是不是受到一噸重的傷害?

在計(jì)算機(jī)發(fā)展的初期,程序員就是使用這樣的二進(jìn)制指令來編寫程序的,那個(gè)拓荒的年代還沒有編程語言。

直接使用二進(jìn)制指令編程對(duì)程序員來說簡(jiǎn)直是噩夢(mèng),尤其是當(dāng)程序比較大的時(shí)候,不但編寫麻煩,需要頻繁查詢指令手冊(cè),而且除錯(cuò)會(huì)異常苦惱,要直接面對(duì)一堆二進(jìn)制數(shù)據(jù),讓人眼花繚亂。另外,用二進(jìn)制指令編程步驟繁瑣,要考慮各種邊界情況和底層問題,開發(fā)效率十分低下。

這就倒逼程序員開發(fā)出了編程語言,提高自己的生產(chǎn)力,例如匯編、C語言、C++、Java、Python、Go語言等,都是在逐步提高開發(fā)效率。至此,編程終于不再是只有極客能做的事情了,不了解計(jì)算機(jī)的讀者經(jīng)過一定的訓(xùn)練也可以編寫出有模有樣的程序。

一、什么是編譯器

C語言代碼由固定的詞匯按照固定的格式組織起來,簡(jiǎn)單直觀,程序員容易識(shí)別和理解,但是對(duì)于CPU,C語言代碼就是天書,根本不認(rèn)識(shí),CPU只認(rèn)識(shí)幾百個(gè)二進(jìn)制形式的指令。這就需要一個(gè)工具,將C語言代碼轉(zhuǎn)換成CPU能夠識(shí)別的二進(jìn)制指令,也就是將代碼加工成 .exe 程序;這個(gè)工具是一個(gè)特殊的軟件,叫做編譯器(Compiler)。

編譯器能夠識(shí)別代碼中的詞匯、句子以及各種特定的格式,并將他們轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的二進(jìn)制形式,這個(gè)過程稱為編譯(Compile)。

編譯也可以理解為“翻譯”,類似于將中文翻譯成英文、將英文翻譯成象形文字,它是一個(gè)復(fù)雜的過程,大致包括詞法分析、語法分析、語義分析、性能優(yōu)化、生成可執(zhí)行文件五個(gè)步驟,期間涉及到復(fù)雜的算法和硬件架構(gòu)。對(duì)于學(xué)計(jì)算機(jī)或者軟件的大學(xué)生,“編譯原理”是一門專業(yè)課程,有興趣的讀者請(qǐng)自行閱讀《編譯原理》一書,這里我們不再展開講解。

? ? ? ? ? ? ? ? ? ??

注意:不了解編譯原理并不影響我們學(xué)習(xí)C語言,我也不建議初學(xué)者去鉆研編譯原理,貪多嚼不爛,不要把自己繞進(jìn)去。

C語言的編譯器有很多種,不同的平臺(tái)下有不同的編譯器,例如:

Windows 下常用的是微軟開發(fā)的 cl.exe,它被集成在 Visual Studio 或 Visual C++ 中,一般不單獨(dú)使用;

Linux 下常用的是 GUN 組織開發(fā)的 GCC,很多 Linux 發(fā)行版都自帶 GCC;

Mac 下常用的是 LLVM/Clang,它被集成在 Xcode 中(Xcode 以前集成的是 GCC,后來由于 GCC 的不配合才改為 LLVM/Clang,LLVM/Clang 的性能比 GCC 更加強(qiáng)大)。

你的代碼語法正確與否,編譯器說了才算,我們學(xué)習(xí)C語言,從某種意義上說就是學(xué)習(xí)如何使用編譯器,讓編譯器生成可執(zhí)行程序(例如 Windows 下的 .exe 程序)。

編譯器可以 100% 保證你的代碼從語法上講是正確的,因?yàn)槟呐掠幸稽c(diǎn)小小的錯(cuò)誤,編譯也不能通過,編譯器會(huì)告訴你哪里錯(cuò)了,便于你的更改。

? ? ? ? ? ? ? ? ? ? ? ? ? ?

二、什么是集成開發(fā)環(huán)境

實(shí)際開發(fā)中,除了編譯器是必須的工具,我們往往還需要很多其他輔助軟件,例如:

編輯器:用來編寫代碼,并且給代碼著色,以方便閱讀;

代碼提示器:輸入部分代碼,即可提示全部代碼,加速代碼的編寫過程;

調(diào)試器:觀察程序的每一個(gè)運(yùn)行步驟,發(fā)現(xiàn)程序的邏輯錯(cuò)誤;

項(xiàng)目管理工具:對(duì)程序涉及到的所有資源進(jìn)行管理,包括源文件、圖片、視頻、第三方庫等;

漂亮的界面:各種按鈕、面板、菜單、窗口等控件整齊排布,操作更方便。

這些工具通常被打包在一起,統(tǒng)一發(fā)布和安裝,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、C-Free、Code::Blocks 等,它們統(tǒng)稱為集成開發(fā)環(huán)境(IDE,Integrated Development Environment)。

集成開發(fā)環(huán)境就是一系列開發(fā)工具的組合套裝。這就好比臺(tái)式機(jī),一個(gè)臺(tái)式機(jī)的核心部件是主機(jī),有了主機(jī)就能獨(dú)立工作了,但是我們?cè)谫?gòu)買臺(tái)式機(jī)時(shí),往往還要附帶上顯示器、鍵盤、鼠標(biāo)、U盤、攝像頭等外圍設(shè)備,因?yàn)橹挥兄鳈C(jī)太不方便了,必須有外設(shè)才能玩的爽。集成開發(fā)環(huán)境也是這個(gè)道理,只有編譯器不方便,所以還要增加其他的輔助工具。

? ? ? ? ? ? ? ? ? ? ? ?

三、選擇哪種集成開發(fā)環(huán)境

C語言的集成開發(fā)環(huán)境有很多種,以前寫過專門的推送介紹過,這里就不再贅述了。如果你實(shí)在不知怎么選擇的話,那就VS吧,畢竟號(hào)稱宇宙第一IDE,哈哈,就講到這里吧,各位了解了嗎?

作者:薛定諤的coding貓

“我是一名從事了10年開發(fā)的老程序員,最近我花了一些時(shí)間整理關(guān)于C語言、C++,自己有做的材料的整合,一個(gè)完整的學(xué)習(xí)C語言、C++的路線和工具。如果你自學(xué)C/C++編程感覺很困難,可以湫湫掃下方二維碼一起來學(xué)習(xí)哦!免費(fèi)送給大家。這里是編程愛好者的聚集地,歡迎初學(xué)和進(jìn)階中的小伙伴。希望你也能憑自己的努力,成為下一個(gè)優(yōu)秀的程序員。

C/C++學(xué)習(xí)路線圖:

?

總結(jié)

以上是生活随笔為你收集整理的一篇文章带初学者明白:什么是编译器,什么是集成开发环境(IDE)?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。