crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Использование сторонних библиотек, Как использовать функции из .dll?
azure
  опции профиля:
сообщение 22.4.2010, 11:52
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 24.12.2009
Пользователь №: 1332

Спасибо сказали: 5 раз(а)




Репутация:   0  


Вопрос не столько по кросплатформенности, сколько по Qt + .dll в винде. Имеется девайс (pci-карта gpib) с драйверами и .dll + .h с функциями работы с устройством. dll идут под MS Visual C++ и Borland C++ Builder. Можно ли использовать эти .dll без использования вышеуказанных компиляторов? Конкретно интересует gcc/mingw? Если можно, то как?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 23.4.2010, 17:57
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


я вообще-то изначально отвечала на исходный вопрос.
Цитата(azure @ 22.4.2010, 14:52) *
Имеется девайс (pci-карта gpib) с драйверами и .dll + .h с функциями работы с устройством. dll идут под MS Visual C++ и Borland C++ Builder. Можно ли использовать эти .dll без использования вышеуказанных компиляторов? Конкретно интересует gcc/mingw? Если можно, то как?

так как были даны неверные ответы про необходимость lib'ов, я ответила, что да, можно. и привела примеры. у меня интелловский компилятор вполне нормально общается с любыми dll под венду, при этом для работы требуются только заголовочники и сама dll.
Цитата(BRE @ 23.4.2010, 17:46) *
Ни msvcrt.dll, ни kernel32.dll, ни какая другая dll ничего генерить уже не может, генерть может линкер, основываясь на этих самых библиотеках импорта или новые линкеры, которые по сути сами формируют таблицу импорта без генерации этих библиотек.

ну тут я просто неточно выразилась. на самом деле, линкер тащит прототип загрузчика из msvcrt и прилепляет его к модулю. а в kernel32 хранится та самая функция, которая загружает динамически библиотеку при вызове LoadLibrary и выполняет динамическую линковку точек входа при выполнении программы.

я не буду спорить. если хочется зависимости от версии драйвера - делайте как хотите. линкуйте через таблицы импорта. дело ваше. я пояснила, в чём вред такого метода. по-моему, написать пару лишних строк кода и отделаться от перекомпиляции приложения под каждую новую dll от производителя дров - не такая уж плохая идея.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- azure   Использование сторонних библиотек   22.4.2010, 11:52
- - Litkevich Yuriy   Цитата(azure @ 22.4.2010, 15:52) Можно ли...   22.4.2010, 12:16
|- - azure   Спасибо за подробные указания. Как узнать, сделана...   22.4.2010, 12:29
- - Litkevich Yuriy   Цитата(azure @ 22.4.2010, 16:29) "по...   22.4.2010, 12:58
- - Влад   Посмотри экспорты этой DLL (например, утилитой Dep...   22.4.2010, 13:00
- - Tonal   Можно использовать dll-ку собранную одним компилят...   22.4.2010, 13:03
- - Litkevich Yuriy   Цитата(Влад @ 22.4.2010, 17:00) Если в эк...   22.4.2010, 13:40
- - Iron Bug   Цитата(Litkevich Yuriy @ 22.4.2010, 16:40...   22.4.2010, 14:39
- - Litkevich Yuriy   я имел в виду "возможно ли на этапе компиляци...   22.4.2010, 15:49
|- - azure   Цитата(Litkevich Yuriy @ 22.4.2010, 15:49...   22.4.2010, 16:08
- - Litkevich Yuriy   Цитата(azure @ 22.4.2010, 20:08) .lib (эт...   22.4.2010, 16:12
|- - BRE   Цитата(Litkevich Yuriy @ 22.4.2010, 17:12...   22.4.2010, 16:18
- - Litkevich Yuriy   ага, т.е. если у меня в распоряжении только dll...   22.4.2010, 16:38
|- - BRE   Цитата(Litkevich Yuriy @ 22.4.2010, 17:38...   22.4.2010, 16:47
- - Iron Bug   люди, у меня такое ощущение, что у вас в голове си...   22.4.2010, 20:23
|- - BRE   Цитата(Iron Bug @ 22.4.2010, 21:23) а то ...   22.4.2010, 20:36
- - Iron Bug   Цитата(BRE @ 22.4.2010, 23:36) А мы про в...   22.4.2010, 20:43
|- - BRE   Цитата(Iron Bug @ 22.4.2010, 21:43) принц...   22.4.2010, 20:48
- - Iron Bug   Цитата(BRE @ 22.4.2010, 23:48) Разве. с т...   22.4.2010, 21:41
- - BRE   венда/линукс под рукой есть? Сделай небольшой прим...   22.4.2010, 21:45
- - Iron Bug   ну вот тебе кусок из реального проекта. весь не пр...   22.4.2010, 23:36
|- - BRE   Мы говорим про венду! Посмотри внимательно, чт...   23.4.2010, 6:29
- - Litkevich Yuriy   Цитата(BRE @ 23.4.2010, 10:29) dll нельзя...   23.4.2010, 8:27
|- - BRE   Цитата(Litkevich Yuriy @ 23.4.2010, 9:27)...   23.4.2010, 8:57
- - Tonal   В винде не все линкеры умеют пользоваться символам...   23.4.2010, 9:02
- - Iron Bug   Цитата(BRE @ 23.4.2010, 9:29) Мы говорим ...   23.4.2010, 11:56
- - BRE   Iron Bug, ты все динамические библиотеки загружаеш...   23.4.2010, 12:21
- - Iron Bug   Цитата(BRE @ 23.4.2010, 15:21) Iron Bug, ...   23.4.2010, 13:52
|- - BRE   Цитата(Iron Bug @ 23.4.2010, 14:52) и нев...   23.4.2010, 14:07
- - Iron Bug   Цитата(BRE @ 23.4.2010, 17:07) А кто прик...   23.4.2010, 14:29
|- - BRE   Цитата(Iron Bug @ 23.4.2010, 15:29) я зна...   23.4.2010, 14:46
- - Iron Bug   я вообще-то изначально отвечала на исходный вопрос...   23.4.2010, 17:57
|- - Tonal   Цитата(Iron Bug @ 23.4.2010, 21:57) ну ту...   26.4.2010, 7:48
- - Litkevich Yuriy   Тему разделил: Сборка библиотеки под ОС Symbian   23.4.2010, 20:48


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 9:05