Есть ли способ автоматически генерировать DEF файл для DLL в Visual Studio? Я всегда их вручную создавал, но там должен быть более простой способ.
Автоматически генерировать DLL файл .DEF в Visual Studio?
Ответ 1
Я нашел место для создания файла .DEF для вас здесь: expdef - def file generator
Это работает потрясающе и содержит список параметров, которые вы могли бы генерировать помимо имен методов функций и символов.
Ответ 2
Проще говоря: напишите script, который соответствует вашим потребностям. Я для одного создал небольшой Perl script для некоторых, чтобы создать файл .def
из существующей DLL, который затем будет использоваться для создания библиотеки импорта (.lib
).
Причина, по которой нет средства для чтения, который делает это для вас, заключается в том, что ни один из задействованных инструментов не может угадать или каким-то образом телепатически определять, какие функции или переменные или константы или классы вы хотите экспортировать и под которыми имена.
Как вы можете знать, файлы определения модулей позволяют вам изменять, как внутреннее имя отображается в таблице экспорта, разрешить экспорт по порядку (вместо имени) или по имени и порядку. Конечно, они также позволяют экспортировать функцию несколько раз (например, старое имя из-за целей поддержки устаревших и более новое, потому что оно теперь следует за некоторыми соглашениями).
Также см. этот вопрос. Вы заметите, что ответ также включает пользовательский script. В этом случае требование, по-видимому, только для демонстрации и экспорта имен любых и всех нестатических функций.