![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| rubricat |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
Доброго времени суток,
скажите, пожалуйста, есть ли способ узнать, в какой среде программирования была создана библиотека? если да, то как? Результат работы утилиты dumpbin возвращает информацию о dll, но из нее мне не удалось понять о среде разработки длл. я пишу на VC2005 приложение, которое использует длл. У меня есть подозрение, что эта длл создана в BCB, т.к. при попытке вызова экспортируемой из длл функции в моем приложении, возникают ошибки. В соответствии с соглашениями о вызовах cоглашениями о наименованиях в этих IDE имена функции в VC2005 и BCB получаются разными. Но все же твердой уверенности что эта билдеровская длл-ка нет, поэтому хочется знать точно про среду програм-я ддл, чтобы знать куда копать дальше. Может я просто в своем коде ошибаюсь. Еще вопрос, может ли dumpbin работать с длл-ками, которые созданы в Си Билдер или только с MSVC-ыми? Спасибо. Это сообщение отредактировал(а) rubricat - 29.9.2008, 11:51 |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
||||
|
||||
| rubricat |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
проблема в моем проекте такая: не вызывается экспортируемая из длл функция. длл загружается в память, GetProcAddress для экспортируемой функции возвращает ненулевой указатель. но при попытке вызвать функцию проект виснет. пробовала в своем приложении явно использовать соглашения о вызовах перед функцией длл: __stdcall, __cdecl. когда использую __stdcall , проект виснет, когда __cdecl, выходит ошибка "The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention." спасибо, про PEiD тоже подсказали, щас читаю про PE-файлы и PEiD. |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
Как называется библиотека? К этой библиотеке есть SDK (заголовочные файлы, или описание работы функций)? Умеете пользоваться этой DLL?
|
|||
|
||||
| rubricat |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
эта библиотека пользовательская.
у меня есть описание этой библиотеки. по описанию создала хидер к длл. нашла ресурс по проблемам совместимости проектов, созданных в разных компиляторах. изучаю |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
||||
|
||||
| rubricat |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
проблема решена
в моем коде был прописан неправильный порт, на котором висит устройство. имя порта передается в качестве параметра в функцию длл. но в случае если длл не находит устройство по прописанному порту, она должна была возвращать определенное значение, чего не происходило. но это уже вопрос к разработчику библиотеки |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |