28

.OBJ はコンパイルの単位をコンパイルした結果であり、.LIB は複数の .OBJ から作成できる静的ライブラリであることは知っていますが、この違いはコンパイルの単位の数だけのようです。他に違いはありますか?ファイル形式は同じですか、それとも異なりますか?

最終的な実行可能ファイルへのリンク中に、2 つ (またはそれ以上) の .LIB で定義された同じ静的変数がマージされるかどうか疑問に思ったときに、この質問に行き着きました。.OBJ の場合、変数はマージされます。しかし、.LIB でも同じでしょうか?

4

2 に答える 2

41

.LIB ファイルは、インデックスと共に連結された .OBJ ファイルのコレクションです。リンカがどちらを扱うかに違いはないはずです。

于 2009-09-01T07:38:54.080 に答える
5

.libファイルは.objファイルのコレクションのようです。いくつかの.objファイルを.libファイルに切り替えるプロセスをアーカイブと見なす人もいます。その場合、.libファイルは.objファイルのボックスであり、リンカーによって同等に扱われる可能性があります。

于 2010-08-26T15:27:06.150 に答える