С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,556
#1

Список функций из стандартных dll библиотек (lib.exe MVS) - C++

07.02.2015, 17:14. Просмотров 1275. Ответов 9
Метки нет (Все метки)

В общем нужен список функций (желательно и хедеров, в которых они находятся) исходя из имени стандартной библиотеки dll.
Наткнулся в инете что это мне может дать lib.exe, который входит в состав Micosoft Visual Studio.
Начал читать, и что то ни фига не понял как её хоть запустить...
Lib.exe нашёл, сама она по себе не запускается.(пишет мол нету библиотеки mspdb80.dll)
Кто может подсказать что делать? )))

Добавлено через 1 минуту
Хотя наверно не там я нашёл этот lib.exe, потому что щяс смотрю их там до кучи)))

Добавлено через 2 минуты
Вот оригинальное сообщение:
impdef -a сuser32.dll

Получишь файл user32.def - смотри его в любом текстовом редакторе, но там только названия функций.
impdef это из борланда, но его у меня нет, а в студии аналогия этот lib.exe, тока как его запустить...

Добавлено через 17 минут
Lib.exe открыл) теперь как правильно команду написать))
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2015, 17:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Список функций из стандартных dll библиотек (lib.exe MVS) (C++):

Файлы *.lib и *.dll - C++
Привет всем! Вот решил начать писать проект и задался вопросом: как использовать *.lib и *.dll файлы? Я даже не знаю что в этих файлах...

В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib - C++
В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib? Я предполагал что в Direct SDK(у меня DirectX SDK 2006), однако там не...

Имеется LIB, H, DLL. Надо 1 EXE - C++ Builder
Доброго дня! Прошу разъяснить ситуацию: 1. Использовал в проекте сторонний LIB,H, DLL... 2. В Builder 6.0 скомпиллировал и на...

Как с помошью implib.exe из dll сделать lib - C++ Builder
Как с помошью implib.exe из dll сделать lib? Объясните идиоту пошагово, пожалуйста.

Как узнать список функций dll библиотеки? - C++ Builder
как узнать список функций dll библиотеки? Возможно ли ето в класическом с++?

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

9
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.02.2015, 17:18 #2
Цитата Сообщение от Izual Посмотреть сообщение
В общем нужен список функций (желательно и хедеров, в которых они находятся) исходя из имени стандартной библиотеки dll.
Наткнулся в инете что это мне может дать lib.exe, который входит в состав Micosoft Visual Studio.
Я пользуюсь dumpbin.exe (входит в поставку Visual Studio / Windows SDK).
Только запускать его надо из Visual Studio Command Prompt. Утилита показывает
всевозможную информацию об исполняемом файле (dll, exe, sys и т.д.) -
основные характеристики, флаги, список экспортов, и еще много чего.
Еще у Total Commander есть плагин, который показывает импорты/экспорты.
Да, узнать заголовки, в которых объявлены соответствующие функции,
на этой стадии уже невозможно, т.к. данная информация не хранится в
исполняемых файлах.
0
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,556
07.02.2015, 17:42  [ТС] #3
Цитата Сообщение от Убежденный Посмотреть сообщение
запускать его надо из Visual Studio Command Prompt
Да да, я вот lib.exe открыл через этот же tools. Только теперь непонятно какие флаги надо поставить, на мсдн что то совсем тускло с инфой....
https://msdn.microsoft.com/ru-ru/library/0b9xe492.aspx
LIB /DEF[:deffile] [options] [objfiles] [libraries]
Агрументы что то совсем не описаны...
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.02.2015, 17:44 #4
Lib.exe - это другое. Эта утилита предназначеня для создания библиотек импорта (.lib).
0
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,556
07.02.2015, 17:49  [ТС] #5
Цитата Сообщение от Убежденный Посмотреть сообщение
предназначеня для создания библиотек импорта
Да, только вместе с этим она даст нужный в текстовом формате .def файл...
С вашим dumpbin.exe тоже не понятно какие флаги ставить =(
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.02.2015, 17:53 #6
Не понял. Зачем здесь нужен DEF-файл ?
0
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,556
07.02.2015, 17:59  [ТС] #7
Цитата Сообщение от Убежденный Посмотреть сообщение
Зачем здесь нужен DEF-файл
Так а как мне ещё список функций получить?.. Что нагуглилось, то и пробую)))

По вашему вот нашёл:
dumpbin /exports example.dll > example.def
Прописал user32.dll, а в деф файле ошибка, мол не найден файл... ~ ~
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.02.2015, 18:02 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Izual Посмотреть сообщение
Так а как мне ещё список функций получить?.. Что нагуглилось, то и пробую)))
Это называется "эх, занесло". Не обижайтесь, если что
DEF-файлы нужны только при построении dll (и иногда exe).

Цитата Сообщение от Izual Посмотреть сообщение
Прописал user32.dll, а в деф файле ошибка, мол не найден файл...
Из Visual Studio Command Prompt:
Код
dumpbin.exe /EXPORTS /RAWDATA:NONE "C:\bla-bla\myfile.dll" >> "C:\bla-bla\exports.txt"
В итоге в exports.txt будет список всего, что экспортируется из myfile.dll.
1
Izual
94 / 119 / 6
Регистрация: 13.11.2012
Сообщений: 1,556
07.02.2015, 18:19  [ТС] #9
Цитата Сообщение от Убежденный Посмотреть сообщение
Это называется "эх, занесло".
Ну а как ещё жить в этом суровом мире информации, написал "список функций из dll библиотеки", а там уж..

Оказалось, надо было просто скопировать сам файл user32.dll в папку "Microsoft Visual Studio\VC" =)
Получилось так же как и с вашим примером, да здравствует бубен!

П.С. Жалко только что нету вывода имени хедера, в котором нужная функция описывается...
Кстати, а есть инструмент который ещё и все хедеры искомой библиотеки выведет?

Добавлено через 10 минут
Вспомнилось)) Давно хотел песню скачать..
Застыли реки и земля остыла
И чуть нахохлились дома.
Это в городе тепло и сыро,
Это в городе тепло и сыро...
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
07.02.2015, 18:21 #10
Цитата Сообщение от Izual Посмотреть сообщение
Кстати, а есть инструмент который ещё и все хедеры искомой библиотеки выведет?
Это технически невозможно, т.к. исполняемый модуль не содержит никакой
информации о хидерах и прочих элементах исходного кода (отладочная
информация не в счет).
0
07.02.2015, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2015, 18:21
Привет! Вот еще темы с ответами:

Как из .dll получить .h и .lib ? - C++ Builder
Всем привет! Как из .dll библиотеки получить файлы .h и .lib ?

Как и возможно ли создать lib и h из dll? - C++ Builder
Есть библиотека dll и больше ничего. Смогу ли я как-то сделать *.h и *.lib для того что бы подключить их к билдеру для работы с ними???

Линкер не находит реализацию стандартных функций - C++ Builder
Здравствуйте, у меня следующая проблема: с недавних пор линкер совсем обленился и не хочет грузить стандартные функции. Например,Как его...

Можно ли получить список функций из DLL, не имея .lib или .h файла? - C++ WinAPI
Или другими словами, можно ли позаимствовать библиотеку, находящуюся рядом с установленной программой?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.