这是我的考试题,我正在复习,但不知道为什么失去了分数。现在向教授提问已经太晚了,所以来这里寻求帮助。是我没有理解makefile的基础知识吗?这是问题:
“文件engine.c包括文件engine.h,文件engine.h包括文件temp.h。编写一个或多个makefile规则生成文件engine.o。”
这是我的答案:
答案关键字说应该是:
“文件engine.c包括文件engine.h,文件engine.h包括文件temp.h。编写一个或多个makefile规则生成文件engine.o。”
这是我的答案:
engine.o: engine.c engine.h
gcc -c engine.c
答案关键字说应该是:
engine.o: engine.c engine.h temp.h
gcc -c engine.c
但我不明白。 engine.c
的目标文件不依赖于 temp.h
,是吗?engine.h
依赖它。如果我为 engine.h
编写另一个目标,我会处理 temp.h
,但我现在没有。严格来说,关于 engine.o
的目标,我需要 temp.h
吗?
temp.h
发生变化时,您需要重新构建engine.o
— 因此告诉 Make,除非engine.o
比temp.h
(以及engine.c
和engine.h
)更新,否则它已过期。实际上,您可以从列表中省略engine.c
;Make 将推断出该依赖项。 - Jonathan Lefflergcc -M
。 - el.pescado - нет войне