一、不同環境下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來完成。