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


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

可以使用whereis命令查看:

如果whereis  gcc和whereis  make命令有結果,說明安裝了這兩個軟件,可以繼續往下做。

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

可以在任何一個目錄編寫C程序然后編譯運行,我這個實例在自己主目錄進行:

然后就進入了編寫程序的界面:

按下鍵盤”i”進入編輯界面,然后輸入程序:

按ESC(進入命令行模式),然后輸入”:wq”,冒號表示開始輸入命令,字母w代表保存文件,字母q代表退出編輯器:

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

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

這里我們要寫兩個C程序文件,一個文件里面寫個被調函數,另外一個文件中main函數調用第一個文件的函數,如下所示:

ex_display.c的代碼如下,同樣的寫完后ESC然后輸入:wq退出:

輸入如下的main函數代碼:

然后保存退出,如下是編譯運行過程:

 

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

正如上節的紅框框里面所敘述,如果一個程序涉及的文件很多的話,每個都得寫出來,很是麻煩,所以Makefile就出現了,請看教程:

進入makefile的編輯界面后,輸入如下內容:

然后保存退出,運行make命令:

 

五、Makefile和shell script方法的對比

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

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM