当我编辑一个源文件时,运行make是否会重新编译该文件以及该文件所依赖的所有文件?如果有,原因何在?
发布于 2011-12-07 07:16:52
为什么?
因为这就是创建Make文件的全部目的。
如果特定的源文件被修改,那么所有依赖文件都应该用修改后的文件重新编译,以便所有依赖文件引用相同的源文件,并且整个代码库是同步的。
How?
make
实用程序检查时间戳以检查创建了modified.When文件的文件,需要指定依赖规则,它显式地告诉该实用程序哪些其他文件依赖于特定文件。因此,使用这些规则Make还会编译所有依赖文件,以便生成的二进制文件引用相同的更新代码。
发布于 2011-12-07 07:16:49
如果该文件包含在其他文件中,那么期望这些其他文件重新编译是合理的,因为您不希望程序的“一半”是新的,而另一半是“一半”旧的。
发布于 2011-12-07 07:15:58
当我编辑一个源文件时,运行make是否会重新编译该文件以及该文件所依赖的所有文件?如果有,原因何在?
这可能发生在一个糟糕的makefile上(你还没有发布它的样子)。
或者,源文件包含模板的实现,并包含在某个地方。
https://stackoverflow.com/questions/8411668
复制相似问题