Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 29.01.2019
Сообщений: 14
1

Зачем нужна lib для dll

29.01.2019, 13:39. Показов 3430. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, постигаю основы программирования. Скажите пожалуйста, зачем нужна lib c символьными именами, если после компиляции .c/.cpp получим .o/.obj где в таблице импорта будут занесены ссылки на функции и переменные находящиеся в других модулях, а в .dll есть таблица экспорта, где так же описаны такие же ссылки. Почему тогда не достаточно обычного .h и .dll ???
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2019, 13:39
Ответы с готовыми решениями:

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету ...

Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined libcpmtd.lib
Господа, забрал из VSS солюшен (из 5 проектов) для VS2010 и стал его собирать. Увлекательный...

DLL и LIB в Delphi для VisualC++
Кто может детально объяснить как подготовить файлы DLL и LIB на Delphi6 для использования в...

Нужна Dll для exe msvbm70b.dll
Привет у меня есть exe просит Dll msvbm70b.dll, пришлите плз. Спасибо!

4
"C with Classes"
1646 / 1403 / 523
Регистрация: 16.08.2014
Сообщений: 5,877
Записей в блоге: 1
29.01.2019, 13:43 2
Лучший ответ Сообщение было отмечено Оленька_ как решение

Решение

Цитата Сообщение от Оленька_ Посмотреть сообщение
Почему тогда не достаточно обычного .h и .dll ???
при загрузки DLL с неявной компоновкой достаточно

Добавлено через 1 минуту
вот
0
0 / 0 / 0
Регистрация: 29.01.2019
Сообщений: 14
29.01.2019, 13:45  [ТС] 3
Это с помощью LoadLibrary() ??? Здесь понятно, потому что используются явные относительные адреса. Но если в тупую, использовать функции опираясь на прототипы в .h, линкер будет ругаться, почему?
0
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
29.01.2019, 14:35 4
Особенность некоторых линкеров (например, майкрософтовского). Они не умеют то ли оставлять имена функций в библиотеке, то ли извлекать их оттуда, поэтому вместе с библиотекой таскают еще и библиотеку импорта.
В других компиляторах (например, gcc) такого нет, и библиотеки импорта не используются.
1
0 / 0 / 0
Регистрация: 29.01.2019
Сообщений: 14
29.01.2019, 15:33  [ТС] 5
Спасибо за ссылку, теперь понятно почему нужна библиотека импорта. Всё из-за особенностей языка cpp, в частности парадигмы ООП, иными совами манглинт.
0
29.01.2019, 15:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2019, 15:33
Помогаю со студенческими работами здесь

Зачем к dll прилагаются файлы: .dll.config, .pdb, .xml
Здравствуйте, Я начал изучать OpenGL 3.3 в C# с помощью OpenTK. Работаю в VS2015 на Window 10 и...

Где скачать opengl32.lib, glu32.lib и glaux.lib из OpenGl?
Привет всем... Нужна помошь немогу найти lib Opengl такие как opengl32.lib, glu32.lib и glaux.lib...

lib и def из dll
Здравствуйте. Тема по созданию lib и def из dll неоднократно поднималась и обсуждалась, но...

Dll и Lib файлы
Создаю корректный хедер и модуль, компилирую в dll. Перемещаю .h, .dll и .lib в папку с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru