链接器和makefile有什么区别?

3
一个链接器接收obj和lib文件,以创建exe或其他lib文件。但是,makefile也可以做到这一点(但它可以从源代码开始)。那么两者之间有什么区别呢?
4个回答

6
不,Makefile并不会。
Makefile本质上是一个脚本,用于告诉make程序将哪些文件作为构建文件的一部分发送到哪些程序。
因此,Makefile可以使用适当的源文件/对象文件调用编译器、链接器等,但它本身并不实际执行工作。
我认为你已经错过了Makefile的整个概念,所以我建议你进行进一步阅读

3

链接器和makefile几乎没有任何共同点。Makefile是make使用的一组指令。它们可以是构建程序、安装文件或任何你想让make执行的指令。链接器是一个程序,它将目标文件作为输入,并将它们合并成输出可执行文件(或共享库)。


3

一个makefile就是一种规则集,定义了需要编译的内容以及编译过程中的依赖关系。这样,make软件可以自动化这个过程。

使用make和makefile并不意味着您不再使用常规的编译器和链接器。基本上,它们仍然会运行,只是您不需要自己运行它们,而是在makefile中定义这个过程。


1

Make使用一个makefile来评估一组规则,以确定是否应调用编译器对源文件进行编译(由于其发生变化的可能性较大),并最终调用链接器来创建最终的目标文件。

您可以在这里了解更多关于make的信息:http://www.gnu.org/software/make/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接