目录中有C文件,我有一个makefile。 我通常使用makefile进行编译。 我一直在徘徊'make clean'的角色 'make clean'就是删除文件。 虽然我没有使用'make clean',但是 当出现问题时,他会出现错误和警告。 我无法理解为什么每当我更改源文件时都需要使用'make clean'。
答案 0 :(得分:0)
仅限会议。惯例是clean
将使您回到 all 所拥有的状态是"来源"文件。换句话说,它摆脱了可以从其他东西(对象,可执行文件,列表等)构建的所有东西。
因此make clean ; make
需要从头开始构建所有内容。而且,事实上,您经常会找到一条规则:
rebuild: clean all
将为您完成这两个步骤。
除非您(例如)仅在某处复制源文件,否则永远不会必须执行clean
。如果您在编辑文件后必须这样做,则Makefile
未正确设置。
而且,如果您make
并收到错误,如果您随后make
未修复错误,则应该会收到完全相同的错误。
答案 1 :(得分:0)
make 是一个实用程序,用于自动确定需要重新编译大型程序的哪些部分,并发出命令以重新编译它们。
要准备使用make,您必须编写一个名为makefile的文件,该文件描述程序中文件之间的关系,以及用于更新每个文件的命令的状态。
一旦存在合适的makefile,每次更改一些源文件时,这个简单的shell命令:
make
足以执行所有必要的重新编译。 make程序使用makefile数据库和文件的最后修改时间来决定哪些文件需要更新。
我们通常使用make clean
作为告知清理code.ie的通用方法;从源代码中删除所有编译的目标文件。您可以将其命名为任何您喜欢的名称。