"
"
什麼是編譯器?什麼是集成開發環境?一文講明白

我們平時所說的程序,是指雙擊後就可以直接運行的程序,這樣的程序被稱為可執行程序(Executable Program)。在 Windows 下,可執行程序的後綴有 .exe 和 .com(其中 .exe 比較常見);在類 UNIX 系統(Linux、Mac OS 等)下,可執行程序沒有特定的後綴,系統根據文件的頭部信息來判斷是否是可執行程序。

可執行程序的內部是一系列計算機指令和數據的集合,它們都是二進制形式的,CPU 可以直接識別,毫無障礙;但是對於程序員,它們非常晦澀,難以記憶和使用。

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

puts("VIP會員");

二進制的寫法為:

"
什麼是編譯器?什麼是集成開發環境?一文講明白

我們平時所說的程序,是指雙擊後就可以直接運行的程序,這樣的程序被稱為可執行程序(Executable Program)。在 Windows 下,可執行程序的後綴有 .exe 和 .com(其中 .exe 比較常見);在類 UNIX 系統(Linux、Mac OS 等)下,可執行程序沒有特定的後綴,系統根據文件的頭部信息來判斷是否是可執行程序。

可執行程序的內部是一系列計算機指令和數據的集合,它們都是二進制形式的,CPU 可以直接識別,毫無障礙;但是對於程序員,它們非常晦澀,難以記憶和使用。

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

puts("VIP會員");

二進制的寫法為:

什麼是編譯器?什麼是集成開發環境?一文講明白

你感受一下,直接使用二進制是不是想撞牆,是不是受到一噸重的傷害?

在計算機發展的初期,程序員就是使用這樣的二進制指令來編寫程序的,那個拓荒的年代還沒有編程語言。

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

這就倒逼程序員開發出了編程語言,提高自己的生產力,例如彙編、C語言、C++、Java、Python、Go語言等,都是在逐步提高開發效率。至此,編程終於不再是隻有極客能做的事情了,不瞭解計算機的讀者經過一定的訓練也可以編寫出有模有樣的程序。

什麼是編譯器

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

編譯器能夠識別代碼中的詞彙、句子以及各種特定的格式,並將他們轉換成計算機能夠識別的二進制形式,這個過程稱為編譯(Compile)。

編譯也可以理解為“翻譯”,類似於將中文翻譯成英文、將英文翻譯成象形文字,它是一個複雜的過程,大致包括詞法分析、語法分析、語義分析、性能優化、生成可執行文件五個步驟,期間涉及到複雜的算法和硬件架構。對於學計算機或者軟件的大學生,“編譯原理”是一門專業課程,有興趣的讀者請自行閱讀《編譯原理》一書,這裡我們不再展開講解。

注意:不瞭解編譯原理並不影響我們學習C語言,我也不建議初學者去鑽研編譯原理,貪多嚼不爛,不要把自己繞進去。

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

Windows 下常用的是微軟編譯器(cl.exr),它被集成在 Visual Studio 或 Visual C++ 中,一般不單獨使用;

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

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

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

編譯器可以 100% 保證你的代碼從語法上講是正確的,因為哪怕有一點小小的錯誤,編譯也不能通過,編譯器會告訴你哪裡錯了,便於你的更改。

什麼是集成開發環境

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

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

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

調試器:觀察程序的每一個運行步驟,發現程序的邏輯錯誤;

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

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

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

集成開發環境就是一系列開發工具的組合套裝。這就好比臺式機,一個臺式機的核心部件是主機,有了主機就能獨立工作了,但是我們在購買臺式機時,往往還要附帶上顯示器、鍵盤、鼠標、U盤、攝像頭等外圍設備,因為只有主機太不方便了,必須有外設才能玩的爽。

集成開發環境也是這個道理,只有編譯器不方便,所以還要增加其他的輔助工具。

選擇哪種集成開發環境

C語言的集成開發環境有很多種,尤其是 Windows 下,多如牛毛,初學者往往不知道該如何選擇。

當然,你不用全部都瞭解,如果你使用 Windows,那麼請忽略 Mac OS 和 Linux;如果你使用 Mac OS,那麼請忽略 Windows 和 Linux。

"

相關推薦

推薦中...