84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Makefile文件修改后,编译程序是否需要重新clean后,编译?
可否从Makefile的工作原理上剖析一下 ,是否每次都需要对工程代码,修改->make clean->make -j
Makefile从原理上说就是一堆依赖关系:
target : dependencies action
简单说就是,make会检查dependencies和target的新旧,如果target比较旧,那么就执行action。 对于一个典型的程序而言,target大多是可执行程序或者目标文件,dependencies大多是源代码(也许还有头文件之类),action大多是编译命令,比如gcc -o $@ $^,Makefile本身倒是很少会出现在这种依赖关系当中。 从这个角度看,你改动了Makefile对于target本身有可能是没有影响的,重新make不一定有必要,但是有可能你对Makefile的改动造成了依赖关系的变化,这种情况下你可能需要重来一遍。
gcc -o $@ $^
Makefile从原理上说就是一堆依赖关系:
简单说就是,make会检查dependencies和target的新旧,如果target比较旧,那么就执行action。
对于一个典型的程序而言,target大多是可执行程序或者目标文件,dependencies大多是源代码(也许还有头文件之类),action大多是编译命令,比如
gcc -o $@ $^
,Makefile本身倒是很少会出现在这种依赖关系当中。从这个角度看,你改动了Makefile对于target本身有可能是没有影响的,重新make不一定有必要,但是有可能你对Makefile的改动造成了依赖关系的变化,这种情况下你可能需要重来一遍。