![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Курсант |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 21.2.2009 Где: Балашиха или Воро неж Репутация: нет Всего: 4 |
Всем доброго времени суток!
Извините за дилетантский вопрос, мне нужно статически подключить DLL к приложению, я знаю, какие функции лежат в DLL и какие параметры они принимают/возвращают. В принципе, я могу динамически подключать эти функции во время работы программы (используя соответствующие API-функции Windows), но мне кажется, что изящнее было бы подключить их к программе статически, т.е. чтобы при загрузке программы PE-загрузчик прочитал секцию импорта программы, загрузил соответствующую библиотеку и проинициализировал указатели на функции. Если я правильно понимаю, прототипы функций должны быть указаны в тексте моей программы, и также должно быть указано имя DLL, из которой эти функции должны быть импортированы. Подскажите пожалуйста, в каком направлении копать Это сообщение отредактировал(а) Курсант - 11.7.2015, 14:10 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 13 Всего: 85 |
Курсант, при создании DLL, создается библиотека .lib, которую и нужно подключать к вашим проектам.
(Если эта не ваша ДЛЛ, то есть утилиты которые создают .lib файл из DLL) Кроме того есть еще проблема замангливания имен, если пишете на С++... но это уже другая проблема.. |
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 7 Всего: 459 |
Формат lib С++ Builder делается прогой ImpLib.exe, а для Microsoft насколько я помню тулзой lib.exe там немного муторно разбираться с командной строкой, но при желании можно.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |