Автоматически генерировать DLL-файл .DEF в Visual Studio? - PullRequest
12 голосов
/ 01 февраля 2010

Есть ли способ автоматически сгенерировать файл DEF для DLL в Visual Studio? Я всегда просто создавал их вручную, но есть более простой способ.

Ответы [ 2 ]

5 голосов
/ 02 августа 2013

Я нашел место для создания файла .DEF для вас здесь: expdef - генератор файлов def

Это работает потрясающе и имеет список опций, которые вы также можете генерировать, кроме имен методов функций и символов.

1 голос
/ 17 мая 2012

Проще говоря: напишите сценарий, который соответствует вашим потребностям. Например, я создал небольшой сценарий Perl для создания .def файла из существующей библиотеки DLL, которая затем будет использоваться для создания из нее библиотеки импорта (.lib).

Причина, по которой нет инструмента для чтения для использования, который делает это за вас, заключается в том, что ни один из задействованных инструментов не может угадать или каким-либо образом телепатически определить, какие функции, переменные, константы или классы вы хотите экспортировать и под какими именами.

Как вы, возможно, знаете, файлы определений модулей позволяют вам изменять отображение внутреннего имени в таблице экспорта, разрешать экспорт по порядковому номеру (вместо имени) или по имени и порядковому номеру. Конечно, они также позволяют экспортировать функцию несколько раз (например, старое имя из-за устаревших целей поддержки и более новое, потому что теперь оно следует некоторому соглашению).

Также см. этот вопрос . Вы заметите, что ответ также включает в себя собственный скрипт. В этом случае, очевидно, требуется только разобрать и экспортировать имена любых и всех нестатических функций.

...