У меня есть двоичный файл - библиотека Windows (* .lib).
Есть ли простой способ узнать имена функций и их интерфейс из этой библиотеки?Как увидеть содержимое библиотеки Windows (* .lib)
Нечто похожее на утилиты emfar и elfdump?
У меня есть двоичный файл - библиотека Windows (* .lib).
Есть ли простой способ узнать имена функций и их интерфейс из этой библиотеки?Как увидеть содержимое библиотеки Windows (* .lib)
Нечто похожее на утилиты emfar и elfdump?
Предполагая, что вы говорите о статической библиотеке, DUMPBIN /SYMBOLS
показаны функции и объекты данных в библиотека. Если вы говорите о библиотеке импорта (.lib
используется для обозначения символов, экспортируемых из DLL), то вы хотите DUMPBIN /EXPORTS
.
Обратите внимание, что для функций, связанных с двоичным интерфейсом «C», это все равно не даст вам вернуть значения, параметры или соглашение о вызове. Эта информация вообще не закодирована в .lib
; вы должны знать это заранее (через прототипы в заголовочных файлах, например), чтобы правильно их называть.
Для функций, связанных с бинарным интерфейсом C++, вызывающее соглашение и аргументы кодируются в экспортированном имени функции (также называемом «mangling name»). DUMPBIN /SYMBOLS
покажет вам как имя функции «mangled», так и декодированный набор параметров.
DUMPBIN/EXPORTS Получит большую часть этой информации и ударит MSDN, остальное.
Получите один из пакетов Visual Studio; C++
lib.exe является библиотекарем VS
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(как Libtool на Unix)
Мне нужен инструмент как ar t libfile.a
в unix.
эквивалент окон lib.exe /list libfile.lib
.
Да lib (только) показывает файлы obj; он не будет показывать функции и данные в файлах obj. – user34660 2016-04-22 02:17:21
1) Откройте визуальную консоль команд (Tools/Visual Studio Command Prompt). 2) Введите "Dumpbin/Экспорт my_lib_name.lib"
Открыть визуальный командной консоли (Visual Studio Command Prompt)
dumpbin /ARCHIVEMEMBERS openssl.x86.lib
или
lib /LIST openssl.x86.lib
или просто открыть его с 7- zip :) его архив AR
Я никогда не знал, что вы можете открыть .lib-файлы с 7-zip, спасибо огромное! – KymikoLoco 2016-10-04 13:51:31
Примечание: Командная строка, специфичная для .NET, поставляется с выпусками Visual Studio но не с Express Edition.
"DUMPBIN -exports" работает для библиотеки DLL, но иногда может не работать для Lib. Для lib мы можем использовать «dumpbin -linkmember» или просто «dumpbin -linkmember: 1».
У вас есть хорошие имена расширений для VS? – Damian 2016-10-31 07:49:27