http://puu.sh/7OiDL.png

好的,那么导出是什么:StackImplementation.o呢?像将其导出到哪里?
另外,gcc -l在做什么?我用谷歌搜索,它说“ gcc -l与库文件的链接”。什么链接到库文件?
最后,“将您选择的打印命令替换为下面的lpr”是什么意思? lpr做什么?什么是干净的:rm -f * .o?

最佳答案

export是伪造目标的名称。你可以说

% make export


并且make将建立其依赖项。没有任何操作指定如何将依赖项转换为名为export的文件,并且在没有隐式规则的情况下,make将在构建依赖项后停止。

gcc的-I正在添加搜索包含文件的路径。您会将它与-l选项混淆,该选项指定要链接的库的名称(对象文件的预建集合,可以满足未解决的符号)。

lpr命令将文件发送到默认行式打印机。同样,print是伪造的目标;在做

% make print


将源文件发送到打印机。

大多数makefile包含clean规则以删除生成的文件。如果未正确指定依赖项,并且对源文件进行更改不会导致构建目标,则很有必要。 rm命令是删除的缩写;它删除文件。如果你这样做

% make clean


它将强制删除所有以.o结尾的文件。

这些目标大多数都是伪造的,如果碰巧存在名称比其依赖项(如果有)新的文件,它们将无法正常工作。大多数make允许您通过将目标列出为超级伪造.PHONY目标的依赖项来指定哪些目标是伪造的。然后,Make将忽略文件系统,并将始终应用规则。

10-08 08:36
查看更多