Linux下GCC和Makefile實例(從GCC的編譯到Makefile的引入)

1、確認已經裝好了GCC和Make的軟件包

可使用whereis命令查看:html

若是whereis  gcc和whereis  make命令有結果,說明安裝了這兩個軟件,能夠繼續往下作。web

2、使用GCC編譯運行一個HelloWorld程序(只涉及單個文件)

能夠在任何一個目錄編寫C程序而後編譯運行,我這個實例在本身主目錄進行:shell

而後就進入了編寫程序的界面:vim

按下鍵盤」i」進入編輯界面,而後輸入程序:編輯器

按ESC(進入命令行模式),而後輸入」:wq」,冒號表示開始輸入命令,字母w表明保存文件,字母q表明退出編輯器:函數

按回車退出vim編輯器,退回到終端,如下是以後的編譯運行截圖:spa

3、使用GCC編譯運行一個多文件程序(包含主程序和子程序)

這裏咱們要寫兩個C程序文件,一個文件裏面寫個被調函數,另一個文件中main函數調用第一個文件的函數,以下所示:.net

ex_display.c的代碼以下,一樣的寫完後ESC而後輸入:wq退出:命令行

輸入以下的main函數代碼:3d

而後保存退出,以下是編譯運行過程:

 

4、使用Makefile解決多文件編譯運行的問題

正如上節的紅框框裏面所敘述,若是一個程序涉及的文件不少的話,每一個都得寫出來,非常麻煩,因此Makefile就出現了,請看教程:

進入makefile的編輯界面後,輸入以下內容:

而後保存退出,運行make命令:

 

5、Makefile和shell script方法的對比

有人說,我把以前的全部命令,全寫到shell script裏面,不就達到Makefile的效果了,沒錯確實最終效果是相同的,可是Makefile卻有這些好處:

  • 簡化編譯執行的命令(並無gcc –c的過程)
  • 一次make後,下次只會編譯改動的文件,其它的文件不會再編譯了

其它還有一些優勢,不過這第二個優勢,對於大型項目來講,好處太大了!

----------------------------------

轉自:http://www.crazyant.net/414.html 

相關文章
相關標籤/搜索