Вопрос

Я знаю, что .OBJ — это результат компиляции единицы компиляции, а .LIB — это статическая библиотека, которую можно создать из нескольких .OBJ, но эта разница, похоже, заключается только в количестве единиц компиляции.Есть ли еще разница?Это тот же или другой формат файла?

Я пришел к этому вопросу, когда задавался вопросом, объединяется ли одна и та же статическая переменная, определенная в двух (или более) .LIB, во время связывания с окончательным исполняемым файлом.Для .OBJ переменные объединяются.Но то же самое в .LIB?

Это было полезно?

Решение

Файл .LIB представляет собой набор файлов .OBJ, объединенных вместе с индексом.Не должно быть никакой разницы в том, как обрабатывает компоновщик.

Другие советы

Похоже, что файл .lib похож на набор файлов .obj.Некоторые люди также считают процесс переключения нескольких файлов .obj на файлы .lib архивом.В этом случае файл .lib представляет собой блок файла .obj, который компоновщик может обрабатывать одинаково.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top