Ubuntu16.04下C語言的編譯及makefile的應用


 

一、不同環境下C語言的編譯

Ubuntu16.04下:

step1:編寫main1.c

主程序已經用nano編好,下面為主程序展示

 

注意:1、主程序中函數的聲明

step2:編寫子程序

step3:用gcc命令編譯

采用多個文件一起編譯,輸出放在main1中

gcc的常見用法:-c 只生成目標文件不進行連接,用於對目標文件的分別編譯

-o file 將輸出放在文件file中

 

step4:運行結果

./file :用來執行文件


 

Win10下(DEV-cpp編譯運行):

step1:主函數編寫

step2:子函數編寫

step3:編譯運行

 


 

二、Makefile方式進行編譯主程序

設想:如果上述在Ubuntu16.04環境下的程序要改動,是不是需要將所有文件都重新編譯一遍呢?這樣做是不是很麻煩?這時,Linux為我們提供了強大的維護工具——make,開發人員需要自己去定義makefile,makefile中定義各文件之間的依賴關系,在此基礎上執行相應操作。下面我將介紹一下make與makefile的具體用法。

step1:創建函數

這里我先把函數賦值注釋掉

step2:創建makefile文件

已經用nano創好:

這里就要談一下makefile的規則了,其通用形式如下:

目標文件:[相依文件]

<tab>命令[注釋]

<tab>命令[注釋]

...

step3:輸入make命令進行調用並執行

觀察結果為-nan,這時我要改代碼

step4:改去掉注釋,再次調用make並執行

這時僅有一條make命令就完成了編譯,並輸出正確結果。

總結:

在ubuntu16.04環境下,可用gcc對c語言進行編譯,但對於多個文件的維護工作可以由make和makefile來完成。

 


免責聲明!

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



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