编辑第一个C程序,然而經過很多年的發展


  gcc在開發初期的確是定位在一款C編譯器,從其名字就可以推測出來。然而經過很多年的發展,gcc的含義已經悄然改變。成為支持C++等各種不同語言的常用編輯器新方法。作為自由軟件的旗艦項目,gcc的功能是如此強大,這裏無法列舉每一個新的選項。有需要的讀者可以參考新的手冊。

  首先我們要做的肯定是寫代碼,在代碼裏面說清楚想要計算機做出怎樣的操作。其實寫代碼就像平時寫文章一樣,只是在電腦上寫一些文本內容,那用什麽工具來寫代碼麽?平時我們在Windows中寫文章,可以用記事本、Word等文本編輯工具。在Mac中呢,我們可以安裝一些文本編輯工具來寫代碼,比如UltraEdit(點擊鏈接可以下載UltraEdit)。當然,在實際開發中,為了提高開發效率,一般會使用開發工具,開發工具的好處,我在前面文章中已經說過了。不過呢,開發工具屏蔽了很多操作細節和語法細節,不利於初學者直觀、系統地學習一門語言。因此,在這裏,我們暫時使用文本編輯工具UltraEdit來寫C語言代碼。

一個C程序中可能會有很多的函數,這樣就會有個疑問:當我們運行整個程序時,在眾多函數中,計算機會先執行哪個函數呢?也就是說,一個C程序的入口在哪裏?我寫了幾千行的代碼,應該先從哪一行代碼開始執行啊?是從第一行代碼還是從最後一行代碼開始執行啊?

其實,C程序的入口是一個名字叫做main的函數,簡稱main函數。(為了區分函數,每一個函數都有一個名稱)也就是說,不管整個程序中有多少個函數,都是先執行main函數。不管main函數寫在文件中間,還是文件末尾,也都是先執行main函數。

 代碼寫完了,總得保存起來吧,保存為什麽格式的文件呢?每個文件都有自己的拓展名,不同的拓展名就代表著不同類型的文件,比如.mp3代表著音頻文件,.txt代表著文本文件。我們前面編寫的C語言代碼,應該保存為一個拓展名為.c的文件,這個.c文件稱為C語言程序的“源代碼文件”,也稱為“源文件”。

前面已經把程序寫好了,迫不及待想做的事情肯定是運行程序,看看計算機會有什麽反應。遺憾的是,前面編寫好的one.c文件還不能夠運行。上一篇文章已經說過了,計算機只能識別0和1組成的機器指令,你現在寫的這些什麽int、main這些英文,它是看不懂的。我們需要使用C語言編譯器,將源文件翻譯成只有0和1的二進制文件,這個翻譯過程,我們稱之為“編譯”。

Mac系統上支持一款叫做gcc的編譯器,gcc支持多種編程語言:C語言、C++、Objective-C、JAVA等。在後來,蘋果公司自己開發了一款叫做clang的編譯器,目標就是要超越gcc。我們這裏就采用clang編譯器來編譯程序。要想在Mac中使用clang編譯器,首先要安裝一個命令行工具(command Line Tools)

相关内容