MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Зачем нужен файл .a / .lib для подключения dll?"
Answer 912527
Вы что то путаете, DLL вообще нельзя прилинковать статически. Первая команда указывает компилятору искать файл libcompare.a или libcompare.dll и слинковаться либо статически, либо динамически (в зависимости от того, что найдено).
Файл с расширением a или lib, который генерируется с параметром
-Wl,--out-implib
- это библиотека импорта, содержит информацию об экспортируемых функциях DLL. GCC, в отличие от MSVC, поддерживает прямую линковку с DLL без необходимости подкладывания библиотеки импорта, поэтому он вам, скорее всего, не нужен.Если же вас интересует, зачем вообще придумана концепция "библиотека импорта", то причина, я думаю, в скорости. Куда быстрее обработать маленький файл с перечнем функций, чем парсить всю DLL и выцеплять его оттуда.
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.