我正在学习更多有关编译器的知识。在尝试理解this Wikipedia article on LLVM时,我碰到了“链接”一词。我以前见过这个词但是没有真正理解它。 在编译器的上下文中,链接是什么意思?
答案 0 :(得分:2)
链接是将所有编译对象相互连接以形成最终可执行文件的过程。当您在一段代码中调用函数时,链接器的工作就是将调用函数的代码挂钩到实现该函数的代码。
答案 1 :(得分:1)
来源:here
“链接是指从多个目标文件创建单个可执行文件。在这一步中,链接器通常会抱怨未定义的函数(通常是main本身)。在编译期间,如果编译器找不到对于特定函数的定义,它只是假设函数是在另一个文件中定义的。如果不是这种情况,那么编译器就无法知道 - 它不会查看多个文件的内容另一方面,链接器可能会查看多个文件,并尝试查找未提及的函数的引用。“
换句话说:链接将所有已编译的库/二进制文件连接在一起,以便可以执行程序。