2009-09-01 127 views
23

私は.OBJはコンパイル単位をコンパイルした結果であり、.LIBはいくつかの.OBJから作成できる静的ライブラリですが、この違いはコンパイル単位。他の違いはありますか?それは同じまたは異なるファイル形式ですか?.LIBファイルと.OBJファイルの違いは何ですか? (Visual Studio C++)

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

答えて

35

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

4

.libファイルは.objファイルの集まりのようです。また、いくつかの.objファイルを.libファイルに切り替えるプロセスについては、アーカイブとみなしています。その場合、.libファイルは.objファイルのボックスであり、これはリンカによって等しく扱うことができます。

+2

ウィンドウ内の '.lib'はlinuxの' .a'と同じです。 –

関連する問題