当我编辑一个源文件时,是否正在运行make重新编译该文件以及该文件所依赖的所有文件?如果是这样,为什么?
答案 0 :(得分:4)
如果该文件在其他文件中是#included,那么期望那些其他文件重新编译是合理的,并且你不希望你的程序的“一半”是新的而另一半是“半”旧的。
答案 1 :(得分:4)
<强>为什么吗
因为这是拥有Make文件的全部目的
如果修改了特定的源文件,则应使用修改后的文件重新编译所有相关文件,以便所有相关文件引用相同的源并且整个代码库同步。
如何吗
make
实用程序检查时间戳以检查修改了哪些文件。创建make文件时需要指定依赖关系规则,它明确告诉实用程序哪些其他文件依赖于特定文件。因此,使用这些规则Make也会编译所有相关文件,以便生成的二进制文件引用相同的更新代码。
答案 2 :(得分:0)
当我编辑一个源文件时,是否正在运行make重新编译该文件 加上那个依赖的所有文件?如果是这样,为什么?
糟糕的makefile可能会发生(你还没有发布它的样子)。
或者源文件包含模板的实现,并且包含在某处。