Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Butt-Head
Заблокирован
#1

Как узнать зависимость DLL-ки от других DLL-ек? - C++

14.07.2015, 10:31. Просмотров 1751. Ответов 15
Метки нет (Все метки)

Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд.
Есть какая - то утилитка, чтоб зависимости посмотреть?
ОС: Винда
Есть Dependency Walker, но он для PE файлов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2015, 10:31     Как узнать зависимость DLL-ки от других DLL-ек?
Посмотрите здесь:

C++ Написать dll для дальнейшего использования в программах на других языках
C++ Как добавить DLL к проекту, чтобы приложение работало на других ПК
C++ Добавить DLL к проекту, чтобы приложение работало на других ПК
C++ Вызов Dll-фий в другой Dll
Как узнать путь к загруженной DLL из самой DLL? C++
Запись из внедренной dll в другую dll этого процесса C++
Можно ли узнать, каким компилятором была собрана ты или иная DLL-ка ? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Butt-Head
Заблокирован
14.07.2015, 10:38  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #2
Сам нашёл
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
14.07.2015, 10:43     Как узнать зависимость DLL-ки от других DLL-ек? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Butt-Head Посмотреть сообщение
Есть Dependency Walker, но он для PE файлов.
А то dll не PE.

http://www.dependencywalker.com/
scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.)
Есть еще плагин для Total Commander. FileInfo.
vxg
Модератор
 Аватар для vxg
2857 / 1790 / 181
Регистрация: 13.01.2012
Сообщений: 6,741
14.07.2015, 10:58     Как узнать зависимость DLL-ки от других DLL-ек? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Butt-Head Посмотреть сообщение
но он для PE файлов
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно
Butt-Head
Заблокирован
14.07.2015, 11:33  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #5
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Цитата Сообщение от vxg Посмотреть сообщение
запустил его (версия 2.2.6000 от 29 окт 2006) - спокойно открывает DLL и показывает про них все что нужно


Добавлено через 27 минут
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Да вроде нет. PE - Portable Executable, а DLL - Dynamic Link Library
vxg
Модератор
 Аватар для vxg
2857 / 1790 / 181
Регистрация: 13.01.2012
Сообщений: 6,741
14.07.2015, 11:38     Как узнать зависимость DLL-ки от других DLL-ек? #6
Цитата Сообщение от Butt-Head Посмотреть сообщение
вроде нет
https://msdn.microsoft.com/en-us/library/ms809762.aspx
Butt-Head
Заблокирован
14.07.2015, 12:05  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #7
vxg, ok, почитаю. (ну так в крации, DLL - тоже пусковым файлом считается?)
У меня тут другой вопрос. В общем пишу я один софт, который использует гис базу данных (SQLite + Spatialite).
Короче, есть там одна библиотека, которую я в рантайме должен подгрузить, она там много чего с собой тянет, но всё это у меня есть. Но! Dependency Walker показывает мне, что у меня нет каких то системных библиотек, см скрин. Как такое может быть? Винда левая? (Winj8.1 x64). VS redisr. x86/64 установлено.
Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
gazlan
Нарушитель
3129 / 1904 / 285
Регистрация: 27.08.2010
Сообщений: 5,133
Записей в блоге: 1
14.07.2015, 12:12     Как узнать зависимость DLL-ки от других DLL-ек? #8
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE
Необязательно. Может быть и NE, а может быть и вообще, что угодно, с расширением DLL (по прихоти автора).

Не по теме:

Мне под видом "DLL" и картинки в .JPG попадались и .PDF файлы, и файлы лицензий итп.

Миниатюры
Как узнать зависимость DLL-ки от других DLL-ек?  
vxg
Модератор
 Аватар для vxg
2857 / 1790 / 181
Регистрация: 13.01.2012
Сообщений: 6,741
14.07.2015, 12:21     Как узнать зависимость DLL-ки от других DLL-ек? #9
Цитата Сообщение от Butt-Head Посмотреть сообщение
Dependency Walker показывает мне, что у меня нет каких то системных библиотек
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32? он сам возьмет все что ему нужно. вас должны интересовать только экзотические библиотеки и их зависимости от экзотических библиотек
Butt-Head
Заблокирован
14.07.2015, 12:30  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #10
Цитата Сообщение от vxg Посмотреть сообщение
не нужно ходить по зависимостям дальше системных библиотек - зачем вам знать от чего зависит USER32?
Хмм, ну так он же показывает, что их нет, значит это уже не хорошо
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки ...
vxg
Модератор
 Аватар для vxg
2857 / 1790 / 181
Регистрация: 13.01.2012
Сообщений: 6,741
14.07.2015, 12:36     Как узнать зависимость DLL-ки от других DLL-ек? #11
Цитата Сообщение от Butt-Head Посмотреть сообщение
Да я бы не ходил, если б эта dll-ка не падала при попытке загрузки
ставлю 1 копейку что дело не в этом. если зависимость уходит к системной DLL, отслеживать ее нет смысла. вряд ли ваша DLL "мучает" систему сильнее чем все остальные компоненты
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
14.07.2015, 12:39     Как узнать зависимость DLL-ки от других DLL-ек? #12
Цитата Сообщение от Butt-Head Посмотреть сообщение
DLL - тоже пусковым файлом считается?
Ага. На русском кое-что есть в вики.

Не по теме:

Цитата Сообщение от gazlan Посмотреть сообщение
Может быть и NE
Точно. Можно было бы и скрин не делать. У меня нет привычки спорить с очевидным

Цитата Сообщение от gazlan Посмотреть сообщение
а может быть и вообще, что угодно, с расширением DLL
У нас так один товарищ работая для *nix, постоянно исполняемые файлы именует *.exe. В централизованной сборке естественно этого нет, а вот локально у себя упорно продолжает и никакие уговоры не действуют.
Естественно ELF в PE от этого не превращается

gazlan
Нарушитель
3129 / 1904 / 285
Регистрация: 27.08.2010
Сообщений: 5,133
Записей в блоге: 1
14.07.2015, 12:42     Как узнать зависимость DLL-ки от других DLL-ек? #13
Цитата Сообщение от DrOffset Посмотреть сообщение
Естественно ELF в PE от этого не превращается

Не по теме:

:-)))

Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,908
Записей в блоге: 17
14.07.2015, 13:08     Как узнать зависимость DLL-ки от других DLL-ек? #14
Есть(была) такая проблема Qt5 Перенос приложения на другой компьютер ну и как решение Программа для сборки библиотек для переноса Qt-приложений собственно можно использовать ProcMon/ProcExp или написать свою тузлу.

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
А то dll не PE.
Ну как бы увидит только таблицу импорта т.е то что загружается неявно.
Butt-Head
Заблокирован
14.07.2015, 14:09  [ТС]     Как узнать зависимость DLL-ки от других DLL-ек? #15
Я вот чё то не пойму, могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки? По идее там ж только символов нет и пр, работать то должно ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек?
Еще ссылки по теме:

C++ Как подключить dll на C# к проекту (dll) на С++
C++ Добавление своей dll в список dll подгружаемых процессом чужого процесса
Обращение к ресурсам DLL из самой DLL C++
Точка входа в процедуру InterlockedCompareExchange64 не найдена в библиотеке DLL KERNEL32.DLL C++
C++ Как узнать имя проекта dll без использования GetModuleFileName?

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

Или воспользуйтесь поиском по форуму:
vxg
Модератор
 Аватар для vxg
2857 / 1790 / 181
Регистрация: 13.01.2012
Сообщений: 6,741
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек? #16
Цитата Сообщение от Butt-Head Посмотреть сообщение
могут быть проблемы, если в в дебажной конфигурации подсовываю релизные Dll-ки
теоретически проблем быть не должно на практике имел опыт когда приложение падало с релизными сборками и работало с дебажными (по сравнению с вашим случаем это наоборот но наводит на мысль)
Yandex
Объявления
14.07.2015, 14:13     Как узнать зависимость DLL-ки от других DLL-ек?
Ответ Создать тему
Опции темы

Текущее время: 05:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru