2014-12-23 2 views
0

Я генерирую DLL-файлы в visual studio 2010. Файлы .lib, .dll, .pdb генерируются в выходной папке.Что такое .lib-файл при генерации DLL

  1. почему .lib (это статический Lib?) Является genarating вместе с DLL, что использование этого и , что он содержит на самом деле?
    (В linux вместе с .so у него не может быть никаких других файлов, но почему в Windows).

  2. что это .pdb файлы, что они содержат и как это будет полезно?

Thanaks заранее :)

+0

'.lib' содержит функции-заглушки, которые будут получать функции из DLL во время выполнения, файлы' .pdb' содержат таблицы символов dbugger. –

+0

[Google: «Почему Windows генерирует lib для dll», первый клик] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms682592%28v=vs.85%29.aspx) , Вы сами проводили какие-либо исследования? – Angew

+0

@ Спасибо спасибо .. – NDestiny

ответ

2

.lib Alongwith .dll не статическая библиотека. Он сообщает компоновщику, что функции, присутствующие в lib, загружаются из dll. Таким образом, он создает зависимость от dll. Если не удастся найти dll, приложение перестанет работать (это проверяется во время запуска).

Используется в неявной связи dll.

PDB-файл используется отладчиком для поиска информации о символе.

3

Почему .lib (это статический Lib?) Порождает вместе с DLL, что использование этого и того, что он содержит на самом деле?

Нет, это .lib является библиотекой импорта и используется в неявной ссылке.

Что это за файлы .pdb, что он содержит и как он будет полезен?

Файл PDB содержит информацию о символах &, и они используются отладчиком для сопоставления hex/oct адресов с именами функций. Файл PDB генерируется при создании вашего проекта.

без PDB программа трассировки стека будет выглядеть следующим образом

0x00002130 

с PDB

0x00002130 yourprogram!function 
Смежные вопросы