代码之家  ›  专栏  ›  技术社区  ›  yan bellavance

链接器和makefile有什么区别?

  •  2
  • yan bellavance  · 技术社区  · 16 年前

    链接器接收obj和lib以创建exe或其他lib。但makefile也是如此(但它可以从上面的源代码开始)。这两者有什么区别?

    4 回复  |  直到 16 年前
        1
  •  2
  •   Carl Norum    16 年前

    链接器和makefile几乎没有共同点。makefile是由 make . 它们可以是构建程序、安装一些文件或任何您想要的指令。 制作 去做。链接器是一个将对象文件作为输入并将其组合到输出可执行文件(或共享库)中的程序。

        2
  •  5
  •   Dan McGrath    16 年前

    不,makefile没有。

    make file本质上是一个脚本,用于告诉make程序将哪些文件作为构建文件的一部分发送到哪些程序。

    因此,makefile可以用适当的源文件/对象文件调用编译器、链接器等,但实际上它本身并不做这项工作。

    我想你错过了makefile的整个概念,所以我建议你做一些 further reading .

        3
  •  2
  •   poke    16 年前

    一 makefile 只是一种规则集,它定义了需要编译的内容以及哪个编译过程取决于什么。这样,make软件就可以使过程自动化。

    但是,使用make和makefiles并不意味着您没有使用常规编译器和链接器。所以基本上这些仍然会运行,您不需要自己运行它,而是在makefile中定义之前的过程。

        4
  •  1
  •   Skcus Isc    16 年前

    make使用make file对一组规则进行评估,以确定是否在源文件上调用编译器(很可能是因为它发生了更改),并最终调用链接器来创建最终的对象文件。

    您可以在此处阅读有关make的更多信息: http://www.gnu.org/software/make/