看板 b92902xxx 關於我們 聯絡資訊
大家都是直接打 gcc -o aa aa.c 嗎? 懶是一種美德, 要我每次都打這麼長, 一定會增加指關節炎的機率啊... (本系三大職業病是關節炎, 近視, 還有痔瘡, 請大家要注意保養身體) make 是好東西, 不只是 compile 程式好用, 常用指令也可以寫進去... 他會讀 Makefile 這個文字檔的內容, 我通常會在作業目錄寫這樣一個東西: # --------- >8 ----------- >8 --請由此處撕開-- >8 ----------- >8 ---------- # # 註解用 # 開頭, 這是 Beagle 的 Makefile # 假設目錄裡有 hw1.c hw2.c hw3.c 三個作業 # # 直接剪貼去用也可以, 但是下面標示注意的地方要自己把空格換成tab # CC = gcc # 指明 C Compiler 要用哪一個 CFLAGS = -g -Wall # gcc option BIN = hw1 hw2 hw3 # 要 make 幾個執行檔都寫在這 all: $(BIN) # 第一個 target 是 default target, # 也就是 make 等於 make all # all: 和 $(BIN) 之間要用 tab 分開 <-- 注意 clean: rm -f $(BIN) # rm 自己一行, 前面要用 tab <-- 注意 # End of Makefile # --------- >8 ----------- >8 --請由此處撕開-- >8 ----------- >8 ---------- 好的, 這樣你只要在那個目錄打 make 就會把三個程式做出來, 打 make clean 就會把三個執行檔清掉... 想單獨做 hw3 可以打 make hw3 就好... make 會做更新判斷, 假如 hw1 hw2 hw3 已經 make 好了, 你修改了 hw3.c 內容, 這時打 make , 會重新 compile hw3, 卻不會 compile hw1 和 hw2 ... 如果你要強制重新 make 可以打 make clean 先清掉即可... 另外程式名稱不要叫 test 或 love ... test 是 UNIX 指令, 你也叫 test 的話有可能會執行到另一個 test love 的話, 你會不敢在別人面前 make ... <-- 真實案例 我寫的會不會太難懂啊? 感覺這篇寫得沒人看得懂的樣子... :( -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.7.70