2013-02-18 2 views
0

Есть ли способ/инструмент для создания списка всех функций (с аргументами), которые имеют директиву __declspec (dllexport) в визуальной студии?проект визуальной студии экспорт списка DLL-функций (подписи)

Я мог бы, конечно, создать скрипт для синтаксического анализа всех файлов заголовка/cpp из проекта - однако, похоже, он создает полный препроцессор C, также проверяющий #define и т. Д. Есть ли где-то в визуальной студии «скрытый» метод для создания простой текстовый файл со всеми FULL-сигнатурами экспортируемых функций в dll?

Должен ли я анализировать файл .lib, созданный с помощью dll? - Как? - Обратите внимание, что я ищу для функции подписи полного, поэтому в том числе argumenttypes & пространств имен и т.д.

+0

вместо создания собственного препроцессора вы можете легко использовать один, как MCPP, который доступен на SF.net и компилируется в Windows. Существуют также упрощенные модули для Perl и Python, которые обеспечивают * некоторые возможности предварительной обработки, но не все колокола и свистки. – 0xC0000022L

+0

Да, это возможно с новейшей версией CMake. Посмотрите на мой ответ для уточнения: http://stackoverflow.com/a/32284832/3001953 – Maks

ответ

2

Вы можете использовать инструмент DependencyWalker, это старый инструмент, который используется, будет выпущен с Visual Studio. Вы можете скачать его с http://www.dependencywalker.com/.

Откройте свою DLL, выберите все имена функций, скопируйте их и вставьте в текстовый файл.

+0

Да, я знаю этот инструмент, однако он «теряет» полную подпись функции - поскольку он показывает только имена функций, а не аргументы и аргументы типы. – paul23

+0

@ paul23: на самом деле это *. * Показывает это, * если * эта информация доступна из-за искаженного наименования экспорта. Если это не так, PDB - ваш единственный метод, и для доступа к этой информации есть API. – 0xC0000022L

Смежные вопросы