c++ - Makefile文件修改后,编译程序是否需要重新clean后,编译?
巴扎黑
巴扎黑 2017-04-17 11:30:07
0
1
673

Makefile文件修改后,编译程序是否需要重新clean后,编译?

可否从Makefile的工作原理上剖析一下 ,是否每次都需要对工程代码,修改->make clean->make -j

巴扎黑
巴扎黑

全部回覆(1)
巴扎黑

Makefile從原理說就是一堆依賴關係:

target : dependencies
    action

簡單說就是,make會檢查dependencies和target的新舊,如果target比較舊,那麼就執行action。
對於典型的程式而言,target大多是可執行程式或目標文件,dependencies大多是原始碼(也許還有頭檔之類),action大多是編譯指令,例如gcc -o $@ $^,Makefile本身倒是很少會出現在這種依賴關係當中。
從這個角度來看,你改動了Makefile對於target本身有可能是沒有影響的,重新make不一定有必要,但是有可能你對Makefile的改動造成了依賴關係的變化,這種情況下你可能需要重來一遍。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板