.lib和.obj之间的关系是什么,以及我在c ++中的项目是什么?

Mr *_*ell 7 c++ static-libraries

.lib和.obj文件如何相互关联?他们的目的是什么?.lib只是.obj文件的集合吗?如果是这样的话.然后将.obj存储在.lib中,使得.obj不必要吗?

GMa*_*ckG 11

通常,.obj文件引用目标文件.这是一个编译形式的源文件.例如,a main.cppfoo.cpp将产生main.objfoo.obj.

然后,将它们链接在一起就是连接器工作,这样就main.obj可以达到定义的功能,foo.obj反之亦然.链接器将输出您的二进制文件,即.lib(.a.exe,或.dll``等).

所以从宽松的意义上讲,是的,二进制输出(.lib在您的情况下)是链接.obj文件的集合.编译完成后,想要使用该库,只需要与其他程序链接即可.lib.这些.obj是中间文件,在链接完成后不需要.