为什么.o(目标文件)的链接速度比.lib(静态库)快?

时间:2017-12-26 10:30:49

标签: c++ windows visual-studio-2010

在我的工作场所,我们的产品编译成可执行文件,子项目链接为静态库(.lib)或共享库(.dll)。我们使用Microsoft C ++编译器。

最近,我的一位同事将子项目目标从.lib(静态库)转换为.o(目标文件),并且该子项目的链接时间大幅减少。早些时候,.lib需要大约1.5分钟才能完成链接。通过链接到.o,链接时间几乎是5-6秒。

为什么链接.lib比.o?

1 个答案:

答案 0 :(得分:-1)

如果您所做的只是编译源代码以创建目标文件,那么您根本不执行任何链接。这意味着对源代码中存在的外部函数和变量的任何引用都将无效,因为它们的地址尚未解析。

https://www.cprogramming.com/compilingandlinking.html