Mr *_*ell 7 c++ static-libraries
.lib和.obj文件如何相互关联?他们的目的是什么?.lib只是.obj文件的集合吗?如果是这样的话.然后将.obj存储在.lib中,使得.obj不必要吗?
GMa*_*ckG 11
通常,.obj文件引用目标文件.这是一个编译形式的源文件.例如,a main.cpp和foo.cpp将产生main.obj和foo.obj.
然后,将它们链接在一起就是连接器工作,这样就main.obj可以达到定义的功能,foo.obj反之亦然.链接器将输出您的二进制文件,即.lib(.a或.exe,或.dll``等).
所以从宽松的意义上讲,是的,二进制输出(.lib在您的情况下)是链接.obj文件的集合.编译完成后,想要使用该库,只需要与其他程序链接即可.lib.这些.obj是中间文件,在链接完成后不需要.