是什么.LIB和.OBJ文件之间的差异? (Visual Studio中C ++)(What i

2019-07-04 05:35发布

我知道.OBJ是编译编译单位的结果和.LIB是可以从几个.OBJ创建静态库,但这种差异似乎只有在编译的单位数。 还有没有其他的区别吗? 它是相同或不同的文件格式?

想知道如果在两个(或更多)的.libs定义相同的静态变量被合并或不链接到最终的可执行文件中,当我来到了这个问题。 对于.OBJs变量进行合并。 但它的.libs一样吗?

Answer 1:

一个.LIB文件是与索引连接在一起.OBJ文件的集合。 应该有链接器如何处理要么没有差别。



Answer 2:

这似乎是的.lib文件是这样的.OBJ文件的集合。 有些人还认为该过程中,切换几个.OBJ文件.lib文件,作为存档。 在这种情况下,的.lib文件是一个盒子obj文件,这可能同样受到连接处理。



文章来源: What is the difference between .LIB and .OBJ files? (Visual Studio C++)